package sk.scerbak.ucl.usecases.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import sk.scerbak.ucl.usecases.services.UsecasesGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalUsecasesParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_ID", "RULE_UPID", "RULE_EMPTY", "RULE_CHAR", "RULE_UPCHAR", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "','", "'('", "')'", "'/'", "'business'", "'system'", "'subsystem'", "'black-box'", "'white-box'", "'summary'", "'user-goal'", "'subfunction'", "'success'", "'failure'", "'package'", "':'", "'Use Case'", "'Main success scenario:'", "'Goal:'", "'Scope:'", "'Level:'", "'Primary actor:'", "'Secondary actors:'", "'Stakeholders:'", "'Interests:'", "'Preconditions:'", "'Success guarantees:'", "'Minimal guarantees:'", "'Trigger:'", "'Extensions:'", "'Technology and data variants:'", "'Open issues:'", "'-'", "'.'", "'Use case ends with'", "'Use case continues with step'", "'?'", "'import'", "'.*'", "'*'"
    };
    public static final int RULE_ID=5;
    public static final int T__29=29;
    public static final int T__28=28;
    public static final int T__27=27;
    public static final int T__26=26;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=14;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int EOF=-1;
    public static final int RULE_EMPTY=7;
    public static final int T__19=19;
    public static final int T__16=16;
    public static final int T__51=51;
    public static final int T__15=15;
    public static final int T__52=52;
    public static final int T__18=18;
    public static final int T__53=53;
    public static final int T__17=17;
    public static final int T__54=54;
    public static final int RULE_UPID=6;
    public static final int RULE_INT=4;
    public static final int RULE_CHAR=8;
    public static final int T__50=50;
    public static final int T__42=42;
    public static final int T__43=43;
    public static final int T__40=40;
    public static final int T__41=41;
    public static final int T__46=46;
    public static final int T__47=47;
    public static final int T__44=44;
    public static final int RULE_UPCHAR=9;
    public static final int T__45=45;
    public static final int T__48=48;
    public static final int T__49=49;
    public static final int RULE_SL_COMMENT=12;
    public static final int RULE_ML_COMMENT=11;
    public static final int T__30=30;
    public static final int T__31=31;
    public static final int RULE_STRING=10;
    public static final int T__32=32;
    public static final int T__33=33;
    public static final int T__34=34;
    public static final int T__35=35;
    public static final int T__36=36;
    public static final int T__37=37;
    public static final int T__38=38;
    public static final int T__39=39;
    public static final int RULE_WS=13;

    // delegates
    // delegators


        public InternalUsecasesParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalUsecasesParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalUsecasesParser.tokenNames; }
    public String getGrammarFileName() { return "../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g"; }


     
     	private UsecasesGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(UsecasesGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleModel"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:60:1: entryRuleModel : ruleModel EOF ;
    public final void entryRuleModel() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:61:1: ( ruleModel EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:62:1: ruleModel EOF
            {
             before(grammarAccess.getModelRule()); 
            pushFollow(FOLLOW_ruleModel_in_entryRuleModel61);
            ruleModel();

            state._fsp--;

             after(grammarAccess.getModelRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleModel68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleModel"


    // $ANTLR start "ruleModel"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:69:1: ruleModel : ( ( rule__Model__Group__0 ) ) ;
    public final void ruleModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:73:2: ( ( ( rule__Model__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:74:1: ( ( rule__Model__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:74:1: ( ( rule__Model__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:75:1: ( rule__Model__Group__0 )
            {
             before(grammarAccess.getModelAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:76:1: ( rule__Model__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:76:2: rule__Model__Group__0
            {
            pushFollow(FOLLOW_rule__Model__Group__0_in_ruleModel94);
            rule__Model__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getModelAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleModel"


    // $ANTLR start "entryRulePackage"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:88:1: entryRulePackage : rulePackage EOF ;
    public final void entryRulePackage() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:89:1: ( rulePackage EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:90:1: rulePackage EOF
            {
             before(grammarAccess.getPackageRule()); 
            pushFollow(FOLLOW_rulePackage_in_entryRulePackage121);
            rulePackage();

            state._fsp--;

             after(grammarAccess.getPackageRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePackage128); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRulePackage"


    // $ANTLR start "rulePackage"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:97:1: rulePackage : ( ( rule__Package__Group__0 ) ) ;
    public final void rulePackage() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:101:2: ( ( ( rule__Package__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:102:1: ( ( rule__Package__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:102:1: ( ( rule__Package__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:103:1: ( rule__Package__Group__0 )
            {
             before(grammarAccess.getPackageAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:104:1: ( rule__Package__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:104:2: rule__Package__Group__0
            {
            pushFollow(FOLLOW_rule__Package__Group__0_in_rulePackage154);
            rule__Package__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getPackageAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePackage"


    // $ANTLR start "entryRuleUseCase"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:116:1: entryRuleUseCase : ruleUseCase EOF ;
    public final void entryRuleUseCase() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:117:1: ( ruleUseCase EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:118:1: ruleUseCase EOF
            {
             before(grammarAccess.getUseCaseRule()); 
            pushFollow(FOLLOW_ruleUseCase_in_entryRuleUseCase181);
            ruleUseCase();

            state._fsp--;

             after(grammarAccess.getUseCaseRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleUseCase188); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleUseCase"


    // $ANTLR start "ruleUseCase"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:125:1: ruleUseCase : ( ( rule__UseCase__Group__0 ) ) ;
    public final void ruleUseCase() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:129:2: ( ( ( rule__UseCase__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:130:1: ( ( rule__UseCase__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:130:1: ( ( rule__UseCase__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:131:1: ( rule__UseCase__Group__0 )
            {
             before(grammarAccess.getUseCaseAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:132:1: ( rule__UseCase__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:132:2: rule__UseCase__Group__0
            {
            pushFollow(FOLLOW_rule__UseCase__Group__0_in_ruleUseCase214);
            rule__UseCase__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleUseCase"


    // $ANTLR start "entryRuleScope"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:144:1: entryRuleScope : ruleScope EOF ;
    public final void entryRuleScope() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:145:1: ( ruleScope EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:146:1: ruleScope EOF
            {
             before(grammarAccess.getScopeRule()); 
            pushFollow(FOLLOW_ruleScope_in_entryRuleScope241);
            ruleScope();

            state._fsp--;

             after(grammarAccess.getScopeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleScope248); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleScope"


    // $ANTLR start "ruleScope"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:153:1: ruleScope : ( ( rule__Scope__Group__0 ) ) ;
    public final void ruleScope() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:157:2: ( ( ( rule__Scope__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:158:1: ( ( rule__Scope__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:158:1: ( ( rule__Scope__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:159:1: ( rule__Scope__Group__0 )
            {
             before(grammarAccess.getScopeAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:160:1: ( rule__Scope__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:160:2: rule__Scope__Group__0
            {
            pushFollow(FOLLOW_rule__Scope__Group__0_in_ruleScope274);
            rule__Scope__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getScopeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleScope"


    // $ANTLR start "entryRuleActor"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:172:1: entryRuleActor : ruleActor EOF ;
    public final void entryRuleActor() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:173:1: ( ruleActor EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:174:1: ruleActor EOF
            {
             before(grammarAccess.getActorRule()); 
            pushFollow(FOLLOW_ruleActor_in_entryRuleActor301);
            ruleActor();

            state._fsp--;

             after(grammarAccess.getActorRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleActor308); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleActor"


    // $ANTLR start "ruleActor"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:181:1: ruleActor : ( ( rule__Actor__Group__0 ) ) ;
    public final void ruleActor() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:185:2: ( ( ( rule__Actor__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:186:1: ( ( rule__Actor__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:186:1: ( ( rule__Actor__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:187:1: ( rule__Actor__Group__0 )
            {
             before(grammarAccess.getActorAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:188:1: ( rule__Actor__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:188:2: rule__Actor__Group__0
            {
            pushFollow(FOLLOW_rule__Actor__Group__0_in_ruleActor334);
            rule__Actor__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getActorAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleActor"


    // $ANTLR start "entryRuleInterest"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:200:1: entryRuleInterest : ruleInterest EOF ;
    public final void entryRuleInterest() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:201:1: ( ruleInterest EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:202:1: ruleInterest EOF
            {
             before(grammarAccess.getInterestRule()); 
            pushFollow(FOLLOW_ruleInterest_in_entryRuleInterest361);
            ruleInterest();

            state._fsp--;

             after(grammarAccess.getInterestRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleInterest368); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleInterest"


    // $ANTLR start "ruleInterest"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:209:1: ruleInterest : ( ( rule__Interest__Group__0 ) ) ;
    public final void ruleInterest() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:213:2: ( ( ( rule__Interest__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:214:1: ( ( rule__Interest__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:214:1: ( ( rule__Interest__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:215:1: ( rule__Interest__Group__0 )
            {
             before(grammarAccess.getInterestAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:216:1: ( rule__Interest__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:216:2: rule__Interest__Group__0
            {
            pushFollow(FOLLOW_rule__Interest__Group__0_in_ruleInterest394);
            rule__Interest__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getInterestAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleInterest"


    // $ANTLR start "entryRuleState"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:228:1: entryRuleState : ruleState EOF ;
    public final void entryRuleState() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:229:1: ( ruleState EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:230:1: ruleState EOF
            {
             before(grammarAccess.getStateRule()); 
            pushFollow(FOLLOW_ruleState_in_entryRuleState421);
            ruleState();

            state._fsp--;

             after(grammarAccess.getStateRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleState428); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleState"


    // $ANTLR start "ruleState"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:237:1: ruleState : ( ( rule__State__NameAssignment ) ) ;
    public final void ruleState() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:241:2: ( ( ( rule__State__NameAssignment ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:242:1: ( ( rule__State__NameAssignment ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:242:1: ( ( rule__State__NameAssignment ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:243:1: ( rule__State__NameAssignment )
            {
             before(grammarAccess.getStateAccess().getNameAssignment()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:244:1: ( rule__State__NameAssignment )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:244:2: rule__State__NameAssignment
            {
            pushFollow(FOLLOW_rule__State__NameAssignment_in_ruleState454);
            rule__State__NameAssignment();

            state._fsp--;


            }

             after(grammarAccess.getStateAccess().getNameAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleState"


    // $ANTLR start "entryRuleCondition"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:256:1: entryRuleCondition : ruleCondition EOF ;
    public final void entryRuleCondition() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:257:1: ( ruleCondition EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:258:1: ruleCondition EOF
            {
             before(grammarAccess.getConditionRule()); 
            pushFollow(FOLLOW_ruleCondition_in_entryRuleCondition481);
            ruleCondition();

            state._fsp--;

             after(grammarAccess.getConditionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCondition488); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleCondition"


    // $ANTLR start "ruleCondition"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:265:1: ruleCondition : ( ( rule__Condition__Group__0 ) ) ;
    public final void ruleCondition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:269:2: ( ( ( rule__Condition__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:270:1: ( ( rule__Condition__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:270:1: ( ( rule__Condition__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:271:1: ( rule__Condition__Group__0 )
            {
             before(grammarAccess.getConditionAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:272:1: ( rule__Condition__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:272:2: rule__Condition__Group__0
            {
            pushFollow(FOLLOW_rule__Condition__Group__0_in_ruleCondition514);
            rule__Condition__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getConditionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleCondition"


    // $ANTLR start "entryRuleTrigger"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:284:1: entryRuleTrigger : ruleTrigger EOF ;
    public final void entryRuleTrigger() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:285:1: ( ruleTrigger EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:286:1: ruleTrigger EOF
            {
             before(grammarAccess.getTriggerRule()); 
            pushFollow(FOLLOW_ruleTrigger_in_entryRuleTrigger541);
            ruleTrigger();

            state._fsp--;

             after(grammarAccess.getTriggerRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTrigger548); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTrigger"


    // $ANTLR start "ruleTrigger"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:293:1: ruleTrigger : ( ( rule__Trigger__Group__0 ) ) ;
    public final void ruleTrigger() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:297:2: ( ( ( rule__Trigger__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:298:1: ( ( rule__Trigger__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:298:1: ( ( rule__Trigger__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:299:1: ( rule__Trigger__Group__0 )
            {
             before(grammarAccess.getTriggerAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:300:1: ( rule__Trigger__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:300:2: rule__Trigger__Group__0
            {
            pushFollow(FOLLOW_rule__Trigger__Group__0_in_ruleTrigger574);
            rule__Trigger__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getTriggerAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTrigger"


    // $ANTLR start "entryRuleActionStep"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:312:1: entryRuleActionStep : ruleActionStep EOF ;
    public final void entryRuleActionStep() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:313:1: ( ruleActionStep EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:314:1: ruleActionStep EOF
            {
             before(grammarAccess.getActionStepRule()); 
            pushFollow(FOLLOW_ruleActionStep_in_entryRuleActionStep601);
            ruleActionStep();

            state._fsp--;

             after(grammarAccess.getActionStepRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleActionStep608); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleActionStep"


    // $ANTLR start "ruleActionStep"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:321:1: ruleActionStep : ( ( rule__ActionStep__Group__0 ) ) ;
    public final void ruleActionStep() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:325:2: ( ( ( rule__ActionStep__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:326:1: ( ( rule__ActionStep__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:326:1: ( ( rule__ActionStep__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:327:1: ( rule__ActionStep__Group__0 )
            {
             before(grammarAccess.getActionStepAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:328:1: ( rule__ActionStep__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:328:2: rule__ActionStep__Group__0
            {
            pushFollow(FOLLOW_rule__ActionStep__Group__0_in_ruleActionStep634);
            rule__ActionStep__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getActionStepAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleActionStep"


    // $ANTLR start "entryRuleAction"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:340:1: entryRuleAction : ruleAction EOF ;
    public final void entryRuleAction() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:341:1: ( ruleAction EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:342:1: ruleAction EOF
            {
             before(grammarAccess.getActionRule()); 
            pushFollow(FOLLOW_ruleAction_in_entryRuleAction661);
            ruleAction();

            state._fsp--;

             after(grammarAccess.getActionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAction668); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAction"


    // $ANTLR start "ruleAction"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:349:1: ruleAction : ( ( rule__Action__Alternatives ) ) ;
    public final void ruleAction() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:353:2: ( ( ( rule__Action__Alternatives ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:354:1: ( ( rule__Action__Alternatives ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:354:1: ( ( rule__Action__Alternatives ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:355:1: ( rule__Action__Alternatives )
            {
             before(grammarAccess.getActionAccess().getAlternatives()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:356:1: ( rule__Action__Alternatives )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:356:2: rule__Action__Alternatives
            {
            pushFollow(FOLLOW_rule__Action__Alternatives_in_ruleAction694);
            rule__Action__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getActionAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAction"


    // $ANTLR start "entryRuleAnyAction"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:368:1: entryRuleAnyAction : ruleAnyAction EOF ;
    public final void entryRuleAnyAction() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:369:1: ( ruleAnyAction EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:370:1: ruleAnyAction EOF
            {
             before(grammarAccess.getAnyActionRule()); 
            pushFollow(FOLLOW_ruleAnyAction_in_entryRuleAnyAction721);
            ruleAnyAction();

            state._fsp--;

             after(grammarAccess.getAnyActionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAnyAction728); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAnyAction"


    // $ANTLR start "ruleAnyAction"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:377:1: ruleAnyAction : ( ( rule__AnyAction__DescriptionAssignment ) ) ;
    public final void ruleAnyAction() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:381:2: ( ( ( rule__AnyAction__DescriptionAssignment ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:382:1: ( ( rule__AnyAction__DescriptionAssignment ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:382:1: ( ( rule__AnyAction__DescriptionAssignment ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:383:1: ( rule__AnyAction__DescriptionAssignment )
            {
             before(grammarAccess.getAnyActionAccess().getDescriptionAssignment()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:384:1: ( rule__AnyAction__DescriptionAssignment )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:384:2: rule__AnyAction__DescriptionAssignment
            {
            pushFollow(FOLLOW_rule__AnyAction__DescriptionAssignment_in_ruleAnyAction754);
            rule__AnyAction__DescriptionAssignment();

            state._fsp--;


            }

             after(grammarAccess.getAnyActionAccess().getDescriptionAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAnyAction"


    // $ANTLR start "entryRuleSubGoal"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:396:1: entryRuleSubGoal : ruleSubGoal EOF ;
    public final void entryRuleSubGoal() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:397:1: ( ruleSubGoal EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:398:1: ruleSubGoal EOF
            {
             before(grammarAccess.getSubGoalRule()); 
            pushFollow(FOLLOW_ruleSubGoal_in_entryRuleSubGoal781);
            ruleSubGoal();

            state._fsp--;

             after(grammarAccess.getSubGoalRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSubGoal788); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSubGoal"


    // $ANTLR start "ruleSubGoal"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:405:1: ruleSubGoal : ( ( rule__SubGoal__IncludeUseCaseAssignment ) ) ;
    public final void ruleSubGoal() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:409:2: ( ( ( rule__SubGoal__IncludeUseCaseAssignment ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:410:1: ( ( rule__SubGoal__IncludeUseCaseAssignment ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:410:1: ( ( rule__SubGoal__IncludeUseCaseAssignment ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:411:1: ( rule__SubGoal__IncludeUseCaseAssignment )
            {
             before(grammarAccess.getSubGoalAccess().getIncludeUseCaseAssignment()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:412:1: ( rule__SubGoal__IncludeUseCaseAssignment )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:412:2: rule__SubGoal__IncludeUseCaseAssignment
            {
            pushFollow(FOLLOW_rule__SubGoal__IncludeUseCaseAssignment_in_ruleSubGoal814);
            rule__SubGoal__IncludeUseCaseAssignment();

            state._fsp--;


            }

             after(grammarAccess.getSubGoalAccess().getIncludeUseCaseAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSubGoal"


    // $ANTLR start "entryRuleInteraction"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:424:1: entryRuleInteraction : ruleInteraction EOF ;
    public final void entryRuleInteraction() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:425:1: ( ruleInteraction EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:426:1: ruleInteraction EOF
            {
             before(grammarAccess.getInteractionRule()); 
            pushFollow(FOLLOW_ruleInteraction_in_entryRuleInteraction841);
            ruleInteraction();

            state._fsp--;

             after(grammarAccess.getInteractionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleInteraction848); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleInteraction"


    // $ANTLR start "ruleInteraction"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:433:1: ruleInteraction : ( ( rule__Interaction__Group__0 ) ) ;
    public final void ruleInteraction() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:437:2: ( ( ( rule__Interaction__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:438:1: ( ( rule__Interaction__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:438:1: ( ( rule__Interaction__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:439:1: ( rule__Interaction__Group__0 )
            {
             before(grammarAccess.getInteractionAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:440:1: ( rule__Interaction__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:440:2: rule__Interaction__Group__0
            {
            pushFollow(FOLLOW_rule__Interaction__Group__0_in_ruleInteraction874);
            rule__Interaction__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getInteractionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleInteraction"


    // $ANTLR start "entryRuleSingleStepSelector"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:452:1: entryRuleSingleStepSelector : ruleSingleStepSelector EOF ;
    public final void entryRuleSingleStepSelector() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:453:1: ( ruleSingleStepSelector EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:454:1: ruleSingleStepSelector EOF
            {
             before(grammarAccess.getSingleStepSelectorRule()); 
            pushFollow(FOLLOW_ruleSingleStepSelector_in_entryRuleSingleStepSelector901);
            ruleSingleStepSelector();

            state._fsp--;

             after(grammarAccess.getSingleStepSelectorRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSingleStepSelector908); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSingleStepSelector"


    // $ANTLR start "ruleSingleStepSelector"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:461:1: ruleSingleStepSelector : ( ( rule__SingleStepSelector__StepAssignment ) ) ;
    public final void ruleSingleStepSelector() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:465:2: ( ( ( rule__SingleStepSelector__StepAssignment ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:466:1: ( ( rule__SingleStepSelector__StepAssignment ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:466:1: ( ( rule__SingleStepSelector__StepAssignment ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:467:1: ( rule__SingleStepSelector__StepAssignment )
            {
             before(grammarAccess.getSingleStepSelectorAccess().getStepAssignment()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:468:1: ( rule__SingleStepSelector__StepAssignment )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:468:2: rule__SingleStepSelector__StepAssignment
            {
            pushFollow(FOLLOW_rule__SingleStepSelector__StepAssignment_in_ruleSingleStepSelector934);
            rule__SingleStepSelector__StepAssignment();

            state._fsp--;


            }

             after(grammarAccess.getSingleStepSelectorAccess().getStepAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSingleStepSelector"


    // $ANTLR start "entryRuleStepRangeSelector"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:480:1: entryRuleStepRangeSelector : ruleStepRangeSelector EOF ;
    public final void entryRuleStepRangeSelector() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:481:1: ( ruleStepRangeSelector EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:482:1: ruleStepRangeSelector EOF
            {
             before(grammarAccess.getStepRangeSelectorRule()); 
            pushFollow(FOLLOW_ruleStepRangeSelector_in_entryRuleStepRangeSelector961);
            ruleStepRangeSelector();

            state._fsp--;

             after(grammarAccess.getStepRangeSelectorRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleStepRangeSelector968); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStepRangeSelector"


    // $ANTLR start "ruleStepRangeSelector"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:489:1: ruleStepRangeSelector : ( ( rule__StepRangeSelector__Group__0 ) ) ;
    public final void ruleStepRangeSelector() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:493:2: ( ( ( rule__StepRangeSelector__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:494:1: ( ( rule__StepRangeSelector__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:494:1: ( ( rule__StepRangeSelector__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:495:1: ( rule__StepRangeSelector__Group__0 )
            {
             before(grammarAccess.getStepRangeSelectorAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:496:1: ( rule__StepRangeSelector__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:496:2: rule__StepRangeSelector__Group__0
            {
            pushFollow(FOLLOW_rule__StepRangeSelector__Group__0_in_ruleStepRangeSelector994);
            rule__StepRangeSelector__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getStepRangeSelectorAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStepRangeSelector"


    // $ANTLR start "entryRuleAbstractStepSelector"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:508:1: entryRuleAbstractStepSelector : ruleAbstractStepSelector EOF ;
    public final void entryRuleAbstractStepSelector() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:509:1: ( ruleAbstractStepSelector EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:510:1: ruleAbstractStepSelector EOF
            {
             before(grammarAccess.getAbstractStepSelectorRule()); 
            pushFollow(FOLLOW_ruleAbstractStepSelector_in_entryRuleAbstractStepSelector1021);
            ruleAbstractStepSelector();

            state._fsp--;

             after(grammarAccess.getAbstractStepSelectorRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractStepSelector1028); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAbstractStepSelector"


    // $ANTLR start "ruleAbstractStepSelector"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:517:1: ruleAbstractStepSelector : ( ( rule__AbstractStepSelector__Alternatives ) ) ;
    public final void ruleAbstractStepSelector() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:521:2: ( ( ( rule__AbstractStepSelector__Alternatives ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:522:1: ( ( rule__AbstractStepSelector__Alternatives ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:522:1: ( ( rule__AbstractStepSelector__Alternatives ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:523:1: ( rule__AbstractStepSelector__Alternatives )
            {
             before(grammarAccess.getAbstractStepSelectorAccess().getAlternatives()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:524:1: ( rule__AbstractStepSelector__Alternatives )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:524:2: rule__AbstractStepSelector__Alternatives
            {
            pushFollow(FOLLOW_rule__AbstractStepSelector__Alternatives_in_ruleAbstractStepSelector1054);
            rule__AbstractStepSelector__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getAbstractStepSelectorAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAbstractStepSelector"


    // $ANTLR start "entryRuleStepListSelector"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:536:1: entryRuleStepListSelector : ruleStepListSelector EOF ;
    public final void entryRuleStepListSelector() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:537:1: ( ruleStepListSelector EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:538:1: ruleStepListSelector EOF
            {
             before(grammarAccess.getStepListSelectorRule()); 
            pushFollow(FOLLOW_ruleStepListSelector_in_entryRuleStepListSelector1081);
            ruleStepListSelector();

            state._fsp--;

             after(grammarAccess.getStepListSelectorRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleStepListSelector1088); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStepListSelector"


    // $ANTLR start "ruleStepListSelector"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:545:1: ruleStepListSelector : ( ( rule__StepListSelector__Group__0 ) ) ;
    public final void ruleStepListSelector() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:549:2: ( ( ( rule__StepListSelector__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:550:1: ( ( rule__StepListSelector__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:550:1: ( ( rule__StepListSelector__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:551:1: ( rule__StepListSelector__Group__0 )
            {
             before(grammarAccess.getStepListSelectorAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:552:1: ( rule__StepListSelector__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:552:2: rule__StepListSelector__Group__0
            {
            pushFollow(FOLLOW_rule__StepListSelector__Group__0_in_ruleStepListSelector1114);
            rule__StepListSelector__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getStepListSelectorAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStepListSelector"


    // $ANTLR start "entryRuleAllStepsSelector"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:564:1: entryRuleAllStepsSelector : ruleAllStepsSelector EOF ;
    public final void entryRuleAllStepsSelector() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:565:1: ( ruleAllStepsSelector EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:566:1: ruleAllStepsSelector EOF
            {
             before(grammarAccess.getAllStepsSelectorRule()); 
            pushFollow(FOLLOW_ruleAllStepsSelector_in_entryRuleAllStepsSelector1141);
            ruleAllStepsSelector();

            state._fsp--;

             after(grammarAccess.getAllStepsSelectorRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAllStepsSelector1148); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAllStepsSelector"


    // $ANTLR start "ruleAllStepsSelector"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:573:1: ruleAllStepsSelector : ( ( rule__AllStepsSelector__AnywhereAssignment ) ) ;
    public final void ruleAllStepsSelector() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:577:2: ( ( ( rule__AllStepsSelector__AnywhereAssignment ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:578:1: ( ( rule__AllStepsSelector__AnywhereAssignment ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:578:1: ( ( rule__AllStepsSelector__AnywhereAssignment ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:579:1: ( rule__AllStepsSelector__AnywhereAssignment )
            {
             before(grammarAccess.getAllStepsSelectorAccess().getAnywhereAssignment()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:580:1: ( rule__AllStepsSelector__AnywhereAssignment )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:580:2: rule__AllStepsSelector__AnywhereAssignment
            {
            pushFollow(FOLLOW_rule__AllStepsSelector__AnywhereAssignment_in_ruleAllStepsSelector1174);
            rule__AllStepsSelector__AnywhereAssignment();

            state._fsp--;


            }

             after(grammarAccess.getAllStepsSelectorAccess().getAnywhereAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAllStepsSelector"


    // $ANTLR start "entryRuleStepSelector"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:592:1: entryRuleStepSelector : ruleStepSelector EOF ;
    public final void entryRuleStepSelector() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:593:1: ( ruleStepSelector EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:594:1: ruleStepSelector EOF
            {
             before(grammarAccess.getStepSelectorRule()); 
            pushFollow(FOLLOW_ruleStepSelector_in_entryRuleStepSelector1201);
            ruleStepSelector();

            state._fsp--;

             after(grammarAccess.getStepSelectorRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleStepSelector1208); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStepSelector"


    // $ANTLR start "ruleStepSelector"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:601:1: ruleStepSelector : ( ( rule__StepSelector__Alternatives ) ) ;
    public final void ruleStepSelector() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:605:2: ( ( ( rule__StepSelector__Alternatives ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:606:1: ( ( rule__StepSelector__Alternatives ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:606:1: ( ( rule__StepSelector__Alternatives ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:607:1: ( rule__StepSelector__Alternatives )
            {
             before(grammarAccess.getStepSelectorAccess().getAlternatives()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:608:1: ( rule__StepSelector__Alternatives )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:608:2: rule__StepSelector__Alternatives
            {
            pushFollow(FOLLOW_rule__StepSelector__Alternatives_in_ruleStepSelector1234);
            rule__StepSelector__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getStepSelectorAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStepSelector"


    // $ANTLR start "entryRuleExtensionEndAction"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:620:1: entryRuleExtensionEndAction : ruleExtensionEndAction EOF ;
    public final void entryRuleExtensionEndAction() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:621:1: ( ruleExtensionEndAction EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:622:1: ruleExtensionEndAction EOF
            {
             before(grammarAccess.getExtensionEndActionRule()); 
            pushFollow(FOLLOW_ruleExtensionEndAction_in_entryRuleExtensionEndAction1261);
            ruleExtensionEndAction();

            state._fsp--;

             after(grammarAccess.getExtensionEndActionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleExtensionEndAction1268); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleExtensionEndAction"


    // $ANTLR start "ruleExtensionEndAction"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:629:1: ruleExtensionEndAction : ( ( rule__ExtensionEndAction__Alternatives ) ) ;
    public final void ruleExtensionEndAction() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:633:2: ( ( ( rule__ExtensionEndAction__Alternatives ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:634:1: ( ( rule__ExtensionEndAction__Alternatives ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:634:1: ( ( rule__ExtensionEndAction__Alternatives ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:635:1: ( rule__ExtensionEndAction__Alternatives )
            {
             before(grammarAccess.getExtensionEndActionAccess().getAlternatives()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:636:1: ( rule__ExtensionEndAction__Alternatives )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:636:2: rule__ExtensionEndAction__Alternatives
            {
            pushFollow(FOLLOW_rule__ExtensionEndAction__Alternatives_in_ruleExtensionEndAction1294);
            rule__ExtensionEndAction__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getExtensionEndActionAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleExtensionEndAction"


    // $ANTLR start "entryRuleScenarioEnd"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:648:1: entryRuleScenarioEnd : ruleScenarioEnd EOF ;
    public final void entryRuleScenarioEnd() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:649:1: ( ruleScenarioEnd EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:650:1: ruleScenarioEnd EOF
            {
             before(grammarAccess.getScenarioEndRule()); 
            pushFollow(FOLLOW_ruleScenarioEnd_in_entryRuleScenarioEnd1321);
            ruleScenarioEnd();

            state._fsp--;

             after(grammarAccess.getScenarioEndRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleScenarioEnd1328); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleScenarioEnd"


    // $ANTLR start "ruleScenarioEnd"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:657:1: ruleScenarioEnd : ( ( rule__ScenarioEnd__Group__0 ) ) ;
    public final void ruleScenarioEnd() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:661:2: ( ( ( rule__ScenarioEnd__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:662:1: ( ( rule__ScenarioEnd__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:662:1: ( ( rule__ScenarioEnd__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:663:1: ( rule__ScenarioEnd__Group__0 )
            {
             before(grammarAccess.getScenarioEndAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:664:1: ( rule__ScenarioEnd__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:664:2: rule__ScenarioEnd__Group__0
            {
            pushFollow(FOLLOW_rule__ScenarioEnd__Group__0_in_ruleScenarioEnd1354);
            rule__ScenarioEnd__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getScenarioEndAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleScenarioEnd"


    // $ANTLR start "entryRuleGoto"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:676:1: entryRuleGoto : ruleGoto EOF ;
    public final void entryRuleGoto() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:677:1: ( ruleGoto EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:678:1: ruleGoto EOF
            {
             before(grammarAccess.getGotoRule()); 
            pushFollow(FOLLOW_ruleGoto_in_entryRuleGoto1381);
            ruleGoto();

            state._fsp--;

             after(grammarAccess.getGotoRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleGoto1388); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleGoto"


    // $ANTLR start "ruleGoto"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:685:1: ruleGoto : ( ( rule__Goto__Group__0 ) ) ;
    public final void ruleGoto() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:689:2: ( ( ( rule__Goto__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:690:1: ( ( rule__Goto__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:690:1: ( ( rule__Goto__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:691:1: ( rule__Goto__Group__0 )
            {
             before(grammarAccess.getGotoAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:692:1: ( rule__Goto__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:692:2: rule__Goto__Group__0
            {
            pushFollow(FOLLOW_rule__Goto__Group__0_in_ruleGoto1414);
            rule__Goto__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getGotoAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleGoto"


    // $ANTLR start "entryRuleExtensionStep"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:704:1: entryRuleExtensionStep : ruleExtensionStep EOF ;
    public final void entryRuleExtensionStep() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:705:1: ( ruleExtensionStep EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:706:1: ruleExtensionStep EOF
            {
             before(grammarAccess.getExtensionStepRule()); 
            pushFollow(FOLLOW_ruleExtensionStep_in_entryRuleExtensionStep1441);
            ruleExtensionStep();

            state._fsp--;

             after(grammarAccess.getExtensionStepRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleExtensionStep1448); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleExtensionStep"


    // $ANTLR start "ruleExtensionStep"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:713:1: ruleExtensionStep : ( ( rule__ExtensionStep__Group__0 ) ) ;
    public final void ruleExtensionStep() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:717:2: ( ( ( rule__ExtensionStep__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:718:1: ( ( rule__ExtensionStep__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:718:1: ( ( rule__ExtensionStep__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:719:1: ( rule__ExtensionStep__Group__0 )
            {
             before(grammarAccess.getExtensionStepAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:720:1: ( rule__ExtensionStep__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:720:2: rule__ExtensionStep__Group__0
            {
            pushFollow(FOLLOW_rule__ExtensionStep__Group__0_in_ruleExtensionStep1474);
            rule__ExtensionStep__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getExtensionStepAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleExtensionStep"


    // $ANTLR start "entryRuleExtensionEndStep"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:732:1: entryRuleExtensionEndStep : ruleExtensionEndStep EOF ;
    public final void entryRuleExtensionEndStep() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:733:1: ( ruleExtensionEndStep EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:734:1: ruleExtensionEndStep EOF
            {
             before(grammarAccess.getExtensionEndStepRule()); 
            pushFollow(FOLLOW_ruleExtensionEndStep_in_entryRuleExtensionEndStep1501);
            ruleExtensionEndStep();

            state._fsp--;

             after(grammarAccess.getExtensionEndStepRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleExtensionEndStep1508); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleExtensionEndStep"


    // $ANTLR start "ruleExtensionEndStep"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:741:1: ruleExtensionEndStep : ( ( rule__ExtensionEndStep__ActionAssignment ) ) ;
    public final void ruleExtensionEndStep() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:745:2: ( ( ( rule__ExtensionEndStep__ActionAssignment ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:746:1: ( ( rule__ExtensionEndStep__ActionAssignment ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:746:1: ( ( rule__ExtensionEndStep__ActionAssignment ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:747:1: ( rule__ExtensionEndStep__ActionAssignment )
            {
             before(grammarAccess.getExtensionEndStepAccess().getActionAssignment()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:748:1: ( rule__ExtensionEndStep__ActionAssignment )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:748:2: rule__ExtensionEndStep__ActionAssignment
            {
            pushFollow(FOLLOW_rule__ExtensionEndStep__ActionAssignment_in_ruleExtensionEndStep1534);
            rule__ExtensionEndStep__ActionAssignment();

            state._fsp--;


            }

             after(grammarAccess.getExtensionEndStepAccess().getActionAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleExtensionEndStep"


    // $ANTLR start "entryRuleExtension"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:760:1: entryRuleExtension : ruleExtension EOF ;
    public final void entryRuleExtension() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:761:1: ( ruleExtension EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:762:1: ruleExtension EOF
            {
             before(grammarAccess.getExtensionRule()); 
            pushFollow(FOLLOW_ruleExtension_in_entryRuleExtension1561);
            ruleExtension();

            state._fsp--;

             after(grammarAccess.getExtensionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleExtension1568); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleExtension"


    // $ANTLR start "ruleExtension"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:769:1: ruleExtension : ( ( rule__Extension__Group__0 ) ) ;
    public final void ruleExtension() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:773:2: ( ( ( rule__Extension__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:774:1: ( ( rule__Extension__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:774:1: ( ( rule__Extension__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:775:1: ( rule__Extension__Group__0 )
            {
             before(grammarAccess.getExtensionAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:776:1: ( rule__Extension__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:776:2: rule__Extension__Group__0
            {
            pushFollow(FOLLOW_rule__Extension__Group__0_in_ruleExtension1594);
            rule__Extension__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getExtensionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleExtension"


    // $ANTLR start "entryRuleVariant"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:788:1: entryRuleVariant : ruleVariant EOF ;
    public final void entryRuleVariant() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:789:1: ( ruleVariant EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:790:1: ruleVariant EOF
            {
             before(grammarAccess.getVariantRule()); 
            pushFollow(FOLLOW_ruleVariant_in_entryRuleVariant1621);
            ruleVariant();

            state._fsp--;

             after(grammarAccess.getVariantRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleVariant1628); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleVariant"


    // $ANTLR start "ruleVariant"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:797:1: ruleVariant : ( ( rule__Variant__Group__0 ) ) ;
    public final void ruleVariant() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:801:2: ( ( ( rule__Variant__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:802:1: ( ( rule__Variant__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:802:1: ( ( rule__Variant__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:803:1: ( rule__Variant__Group__0 )
            {
             before(grammarAccess.getVariantAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:804:1: ( rule__Variant__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:804:2: rule__Variant__Group__0
            {
            pushFollow(FOLLOW_rule__Variant__Group__0_in_ruleVariant1654);
            rule__Variant__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getVariantAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleVariant"


    // $ANTLR start "entryRuleIssue"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:816:1: entryRuleIssue : ruleIssue EOF ;
    public final void entryRuleIssue() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:817:1: ( ruleIssue EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:818:1: ruleIssue EOF
            {
             before(grammarAccess.getIssueRule()); 
            pushFollow(FOLLOW_ruleIssue_in_entryRuleIssue1681);
            ruleIssue();

            state._fsp--;

             after(grammarAccess.getIssueRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleIssue1688); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleIssue"


    // $ANTLR start "ruleIssue"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:825:1: ruleIssue : ( ( rule__Issue__Group__0 ) ) ;
    public final void ruleIssue() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:829:2: ( ( ( rule__Issue__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:830:1: ( ( rule__Issue__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:830:1: ( ( rule__Issue__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:831:1: ( rule__Issue__Group__0 )
            {
             before(grammarAccess.getIssueAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:832:1: ( rule__Issue__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:832:2: rule__Issue__Group__0
            {
            pushFollow(FOLLOW_rule__Issue__Group__0_in_ruleIssue1714);
            rule__Issue__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getIssueAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleIssue"


    // $ANTLR start "entryRuleORD"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:844:1: entryRuleORD : ruleORD EOF ;
    public final void entryRuleORD() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:845:1: ( ruleORD EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:846:1: ruleORD EOF
            {
             before(grammarAccess.getORDRule()); 
            pushFollow(FOLLOW_ruleORD_in_entryRuleORD1741);
            ruleORD();

            state._fsp--;

             after(grammarAccess.getORDRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleORD1748); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleORD"


    // $ANTLR start "ruleORD"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:853:1: ruleORD : ( RULE_INT ) ;
    public final void ruleORD() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:857:2: ( ( RULE_INT ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:858:1: ( RULE_INT )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:858:1: ( RULE_INT )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:859:1: RULE_INT
            {
             before(grammarAccess.getORDAccess().getINTTerminalRuleCall()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleORD1774); 
             after(grammarAccess.getORDAccess().getINTTerminalRuleCall()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleORD"


    // $ANTLR start "entryRulePlainText"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:872:1: entryRulePlainText : rulePlainText EOF ;
    public final void entryRulePlainText() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:873:1: ( rulePlainText EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:874:1: rulePlainText EOF
            {
             before(grammarAccess.getPlainTextRule()); 
            pushFollow(FOLLOW_rulePlainText_in_entryRulePlainText1800);
            rulePlainText();

            state._fsp--;

             after(grammarAccess.getPlainTextRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePlainText1807); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRulePlainText"


    // $ANTLR start "rulePlainText"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:881:1: rulePlainText : ( ( rule__PlainText__Group__0 ) ) ;
    public final void rulePlainText() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:885:2: ( ( ( rule__PlainText__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:886:1: ( ( rule__PlainText__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:886:1: ( ( rule__PlainText__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:887:1: ( rule__PlainText__Group__0 )
            {
             before(grammarAccess.getPlainTextAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:888:1: ( rule__PlainText__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:888:2: rule__PlainText__Group__0
            {
            pushFollow(FOLLOW_rule__PlainText__Group__0_in_rulePlainText1833);
            rule__PlainText__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getPlainTextAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePlainText"


    // $ANTLR start "entryRuleNAME"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:900:1: entryRuleNAME : ruleNAME EOF ;
    public final void entryRuleNAME() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:901:1: ( ruleNAME EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:902:1: ruleNAME EOF
            {
             before(grammarAccess.getNAMERule()); 
            pushFollow(FOLLOW_ruleNAME_in_entryRuleNAME1860);
            ruleNAME();

            state._fsp--;

             after(grammarAccess.getNAMERule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNAME1867); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleNAME"


    // $ANTLR start "ruleNAME"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:909:1: ruleNAME : ( ( rule__NAME__Group__0 ) ) ;
    public final void ruleNAME() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:913:2: ( ( ( rule__NAME__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:914:1: ( ( rule__NAME__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:914:1: ( ( rule__NAME__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:915:1: ( rule__NAME__Group__0 )
            {
             before(grammarAccess.getNAMEAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:916:1: ( rule__NAME__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:916:2: rule__NAME__Group__0
            {
            pushFollow(FOLLOW_rule__NAME__Group__0_in_ruleNAME1893);
            rule__NAME__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getNAMEAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNAME"


    // $ANTLR start "entryRuleImport"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:928:1: entryRuleImport : ruleImport EOF ;
    public final void entryRuleImport() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:929:1: ( ruleImport EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:930:1: ruleImport EOF
            {
             before(grammarAccess.getImportRule()); 
            pushFollow(FOLLOW_ruleImport_in_entryRuleImport1920);
            ruleImport();

            state._fsp--;

             after(grammarAccess.getImportRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleImport1927); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleImport"


    // $ANTLR start "ruleImport"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:937:1: ruleImport : ( ( rule__Import__Group__0 ) ) ;
    public final void ruleImport() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:941:2: ( ( ( rule__Import__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:942:1: ( ( rule__Import__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:942:1: ( ( rule__Import__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:943:1: ( rule__Import__Group__0 )
            {
             before(grammarAccess.getImportAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:944:1: ( rule__Import__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:944:2: rule__Import__Group__0
            {
            pushFollow(FOLLOW_rule__Import__Group__0_in_ruleImport1953);
            rule__Import__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getImportAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleImport"


    // $ANTLR start "entryRuleQualifiedName"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:956:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
    public final void entryRuleQualifiedName() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:957:1: ( ruleQualifiedName EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:958:1: ruleQualifiedName EOF
            {
             before(grammarAccess.getQualifiedNameRule()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName1980);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getQualifiedNameRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName1987); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleQualifiedName"


    // $ANTLR start "ruleQualifiedName"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:965:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
    public final void ruleQualifiedName() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:969:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:970:1: ( ( rule__QualifiedName__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:970:1: ( ( rule__QualifiedName__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:971:1: ( rule__QualifiedName__Group__0 )
            {
             before(grammarAccess.getQualifiedNameAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:972:1: ( rule__QualifiedName__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:972:2: rule__QualifiedName__Group__0
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName2013);
            rule__QualifiedName__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getQualifiedNameAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleQualifiedName"


    // $ANTLR start "entryRuleQualifiedNameWithWildcard"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:984:1: entryRuleQualifiedNameWithWildcard : ruleQualifiedNameWithWildcard EOF ;
    public final void entryRuleQualifiedNameWithWildcard() throws RecognitionException {
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:985:1: ( ruleQualifiedNameWithWildcard EOF )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:986:1: ruleQualifiedNameWithWildcard EOF
            {
             before(grammarAccess.getQualifiedNameWithWildcardRule()); 
            pushFollow(FOLLOW_ruleQualifiedNameWithWildcard_in_entryRuleQualifiedNameWithWildcard2040);
            ruleQualifiedNameWithWildcard();

            state._fsp--;

             after(grammarAccess.getQualifiedNameWithWildcardRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedNameWithWildcard2047); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleQualifiedNameWithWildcard"


    // $ANTLR start "ruleQualifiedNameWithWildcard"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:993:1: ruleQualifiedNameWithWildcard : ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) ;
    public final void ruleQualifiedNameWithWildcard() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:997:2: ( ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:998:1: ( ( rule__QualifiedNameWithWildcard__Group__0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:998:1: ( ( rule__QualifiedNameWithWildcard__Group__0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:999:1: ( rule__QualifiedNameWithWildcard__Group__0 )
            {
             before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1000:1: ( rule__QualifiedNameWithWildcard__Group__0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1000:2: rule__QualifiedNameWithWildcard__Group__0
            {
            pushFollow(FOLLOW_rule__QualifiedNameWithWildcard__Group__0_in_ruleQualifiedNameWithWildcard2073);
            rule__QualifiedNameWithWildcard__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleQualifiedNameWithWildcard"


    // $ANTLR start "ruleScopeType"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1013:1: ruleScopeType : ( ( rule__ScopeType__Alternatives ) ) ;
    public final void ruleScopeType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1017:1: ( ( ( rule__ScopeType__Alternatives ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1018:1: ( ( rule__ScopeType__Alternatives ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1018:1: ( ( rule__ScopeType__Alternatives ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1019:1: ( rule__ScopeType__Alternatives )
            {
             before(grammarAccess.getScopeTypeAccess().getAlternatives()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1020:1: ( rule__ScopeType__Alternatives )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1020:2: rule__ScopeType__Alternatives
            {
            pushFollow(FOLLOW_rule__ScopeType__Alternatives_in_ruleScopeType2110);
            rule__ScopeType__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getScopeTypeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleScopeType"


    // $ANTLR start "ruleVisibility"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1032:1: ruleVisibility : ( ( rule__Visibility__Alternatives ) ) ;
    public final void ruleVisibility() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1036:1: ( ( ( rule__Visibility__Alternatives ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1037:1: ( ( rule__Visibility__Alternatives ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1037:1: ( ( rule__Visibility__Alternatives ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1038:1: ( rule__Visibility__Alternatives )
            {
             before(grammarAccess.getVisibilityAccess().getAlternatives()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1039:1: ( rule__Visibility__Alternatives )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1039:2: rule__Visibility__Alternatives
            {
            pushFollow(FOLLOW_rule__Visibility__Alternatives_in_ruleVisibility2146);
            rule__Visibility__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getVisibilityAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleVisibility"


    // $ANTLR start "ruleLevel"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1051:1: ruleLevel : ( ( rule__Level__Alternatives ) ) ;
    public final void ruleLevel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1055:1: ( ( ( rule__Level__Alternatives ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1056:1: ( ( rule__Level__Alternatives ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1056:1: ( ( rule__Level__Alternatives ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1057:1: ( rule__Level__Alternatives )
            {
             before(grammarAccess.getLevelAccess().getAlternatives()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1058:1: ( rule__Level__Alternatives )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1058:2: rule__Level__Alternatives
            {
            pushFollow(FOLLOW_rule__Level__Alternatives_in_ruleLevel2182);
            rule__Level__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getLevelAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleLevel"


    // $ANTLR start "ruleScenarioResult"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1070:1: ruleScenarioResult : ( ( rule__ScenarioResult__Alternatives ) ) ;
    public final void ruleScenarioResult() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1074:1: ( ( ( rule__ScenarioResult__Alternatives ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1075:1: ( ( rule__ScenarioResult__Alternatives ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1075:1: ( ( rule__ScenarioResult__Alternatives ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1076:1: ( rule__ScenarioResult__Alternatives )
            {
             before(grammarAccess.getScenarioResultAccess().getAlternatives()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1077:1: ( rule__ScenarioResult__Alternatives )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1077:2: rule__ScenarioResult__Alternatives
            {
            pushFollow(FOLLOW_rule__ScenarioResult__Alternatives_in_ruleScenarioResult2218);
            rule__ScenarioResult__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getScenarioResultAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleScenarioResult"


    // $ANTLR start "rule__Action__Alternatives"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1088:1: rule__Action__Alternatives : ( ( ruleSubGoal ) | ( ruleInteraction ) | ( ruleAnyAction ) );
    public final void rule__Action__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1092:1: ( ( ruleSubGoal ) | ( ruleInteraction ) | ( ruleAnyAction ) )
            int alt1=3;
            alt1 = dfa1.predict(input);
            switch (alt1) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1093:1: ( ruleSubGoal )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1093:1: ( ruleSubGoal )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1094:1: ruleSubGoal
                    {
                     before(grammarAccess.getActionAccess().getSubGoalParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleSubGoal_in_rule__Action__Alternatives2253);
                    ruleSubGoal();

                    state._fsp--;

                     after(grammarAccess.getActionAccess().getSubGoalParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1099:6: ( ruleInteraction )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1099:6: ( ruleInteraction )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1100:1: ruleInteraction
                    {
                     before(grammarAccess.getActionAccess().getInteractionParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleInteraction_in_rule__Action__Alternatives2270);
                    ruleInteraction();

                    state._fsp--;

                     after(grammarAccess.getActionAccess().getInteractionParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1105:6: ( ruleAnyAction )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1105:6: ( ruleAnyAction )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1106:1: ruleAnyAction
                    {
                     before(grammarAccess.getActionAccess().getAnyActionParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleAnyAction_in_rule__Action__Alternatives2287);
                    ruleAnyAction();

                    state._fsp--;

                     after(grammarAccess.getActionAccess().getAnyActionParserRuleCall_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Action__Alternatives"


    // $ANTLR start "rule__AbstractStepSelector__Alternatives"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1116:1: rule__AbstractStepSelector__Alternatives : ( ( ruleSingleStepSelector ) | ( ruleStepRangeSelector ) );
    public final void rule__AbstractStepSelector__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1120:1: ( ( ruleSingleStepSelector ) | ( ruleStepRangeSelector ) )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==RULE_INT) ) {
                int LA2_1 = input.LA(2);

                if ( (LA2_1==EOF||(LA2_1>=RULE_ID && LA2_1<=RULE_UPID)||LA2_1==15) ) {
                    alt2=1;
                }
                else if ( (LA2_1==47) ) {
                    alt2=2;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 2, 1, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1121:1: ( ruleSingleStepSelector )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1121:1: ( ruleSingleStepSelector )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1122:1: ruleSingleStepSelector
                    {
                     before(grammarAccess.getAbstractStepSelectorAccess().getSingleStepSelectorParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleSingleStepSelector_in_rule__AbstractStepSelector__Alternatives2319);
                    ruleSingleStepSelector();

                    state._fsp--;

                     after(grammarAccess.getAbstractStepSelectorAccess().getSingleStepSelectorParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1127:6: ( ruleStepRangeSelector )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1127:6: ( ruleStepRangeSelector )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1128:1: ruleStepRangeSelector
                    {
                     before(grammarAccess.getAbstractStepSelectorAccess().getStepRangeSelectorParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleStepRangeSelector_in_rule__AbstractStepSelector__Alternatives2336);
                    ruleStepRangeSelector();

                    state._fsp--;

                     after(grammarAccess.getAbstractStepSelectorAccess().getStepRangeSelectorParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AbstractStepSelector__Alternatives"


    // $ANTLR start "rule__StepSelector__Alternatives"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1138:1: rule__StepSelector__Alternatives : ( ( ruleStepListSelector ) | ( ruleAllStepsSelector ) );
    public final void rule__StepSelector__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1142:1: ( ( ruleStepListSelector ) | ( ruleAllStepsSelector ) )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==RULE_INT) ) {
                alt3=1;
            }
            else if ( (LA3_0==54) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1143:1: ( ruleStepListSelector )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1143:1: ( ruleStepListSelector )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1144:1: ruleStepListSelector
                    {
                     before(grammarAccess.getStepSelectorAccess().getStepListSelectorParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleStepListSelector_in_rule__StepSelector__Alternatives2368);
                    ruleStepListSelector();

                    state._fsp--;

                     after(grammarAccess.getStepSelectorAccess().getStepListSelectorParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1149:6: ( ruleAllStepsSelector )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1149:6: ( ruleAllStepsSelector )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1150:1: ruleAllStepsSelector
                    {
                     before(grammarAccess.getStepSelectorAccess().getAllStepsSelectorParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleAllStepsSelector_in_rule__StepSelector__Alternatives2385);
                    ruleAllStepsSelector();

                    state._fsp--;

                     after(grammarAccess.getStepSelectorAccess().getAllStepsSelectorParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepSelector__Alternatives"


    // $ANTLR start "rule__ExtensionEndAction__Alternatives"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1160:1: rule__ExtensionEndAction__Alternatives : ( ( ruleScenarioEnd ) | ( ruleGoto ) );
    public final void rule__ExtensionEndAction__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1164:1: ( ( ruleScenarioEnd ) | ( ruleGoto ) )
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==49) ) {
                alt4=1;
            }
            else if ( (LA4_0==50) ) {
                alt4=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;
            }
            switch (alt4) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1165:1: ( ruleScenarioEnd )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1165:1: ( ruleScenarioEnd )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1166:1: ruleScenarioEnd
                    {
                     before(grammarAccess.getExtensionEndActionAccess().getScenarioEndParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleScenarioEnd_in_rule__ExtensionEndAction__Alternatives2417);
                    ruleScenarioEnd();

                    state._fsp--;

                     after(grammarAccess.getExtensionEndActionAccess().getScenarioEndParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1171:6: ( ruleGoto )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1171:6: ( ruleGoto )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1172:1: ruleGoto
                    {
                     before(grammarAccess.getExtensionEndActionAccess().getGotoParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleGoto_in_rule__ExtensionEndAction__Alternatives2434);
                    ruleGoto();

                    state._fsp--;

                     after(grammarAccess.getExtensionEndActionAccess().getGotoParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExtensionEndAction__Alternatives"


    // $ANTLR start "rule__PlainText__Alternatives_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1182:1: rule__PlainText__Alternatives_1 : ( ( RULE_ID ) | ( ',' ) | ( '(' ) | ( ')' ) | ( '/' ) );
    public final void rule__PlainText__Alternatives_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1186:1: ( ( RULE_ID ) | ( ',' ) | ( '(' ) | ( ')' ) | ( '/' ) )
            int alt5=5;
            switch ( input.LA(1) ) {
            case RULE_ID:
                {
                alt5=1;
                }
                break;
            case 15:
                {
                alt5=2;
                }
                break;
            case 16:
                {
                alt5=3;
                }
                break;
            case 17:
                {
                alt5=4;
                }
                break;
            case 18:
                {
                alt5=5;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;
            }

            switch (alt5) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1187:1: ( RULE_ID )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1187:1: ( RULE_ID )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1188:1: RULE_ID
                    {
                     before(grammarAccess.getPlainTextAccess().getIDTerminalRuleCall_1_0()); 
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PlainText__Alternatives_12466); 
                     after(grammarAccess.getPlainTextAccess().getIDTerminalRuleCall_1_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1193:6: ( ',' )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1193:6: ( ',' )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1194:1: ','
                    {
                     before(grammarAccess.getPlainTextAccess().getCommaKeyword_1_1()); 
                    match(input,15,FOLLOW_15_in_rule__PlainText__Alternatives_12484); 
                     after(grammarAccess.getPlainTextAccess().getCommaKeyword_1_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1201:6: ( '(' )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1201:6: ( '(' )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1202:1: '('
                    {
                     before(grammarAccess.getPlainTextAccess().getLeftParenthesisKeyword_1_2()); 
                    match(input,16,FOLLOW_16_in_rule__PlainText__Alternatives_12504); 
                     after(grammarAccess.getPlainTextAccess().getLeftParenthesisKeyword_1_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1209:6: ( ')' )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1209:6: ( ')' )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1210:1: ')'
                    {
                     before(grammarAccess.getPlainTextAccess().getRightParenthesisKeyword_1_3()); 
                    match(input,17,FOLLOW_17_in_rule__PlainText__Alternatives_12524); 
                     after(grammarAccess.getPlainTextAccess().getRightParenthesisKeyword_1_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1217:6: ( '/' )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1217:6: ( '/' )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1218:1: '/'
                    {
                     before(grammarAccess.getPlainTextAccess().getSolidusKeyword_1_4()); 
                    match(input,18,FOLLOW_18_in_rule__PlainText__Alternatives_12544); 
                     after(grammarAccess.getPlainTextAccess().getSolidusKeyword_1_4()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PlainText__Alternatives_1"


    // $ANTLR start "rule__ScopeType__Alternatives"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1230:1: rule__ScopeType__Alternatives : ( ( ( 'business' ) ) | ( ( 'system' ) ) | ( ( 'subsystem' ) ) );
    public final void rule__ScopeType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1234:1: ( ( ( 'business' ) ) | ( ( 'system' ) ) | ( ( 'subsystem' ) ) )
            int alt6=3;
            switch ( input.LA(1) ) {
            case 19:
                {
                alt6=1;
                }
                break;
            case 20:
                {
                alt6=2;
                }
                break;
            case 21:
                {
                alt6=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;
            }

            switch (alt6) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1235:1: ( ( 'business' ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1235:1: ( ( 'business' ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1236:1: ( 'business' )
                    {
                     before(grammarAccess.getScopeTypeAccess().getBusinessEnumLiteralDeclaration_0()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1237:1: ( 'business' )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1237:3: 'business'
                    {
                    match(input,19,FOLLOW_19_in_rule__ScopeType__Alternatives2579); 

                    }

                     after(grammarAccess.getScopeTypeAccess().getBusinessEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1242:6: ( ( 'system' ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1242:6: ( ( 'system' ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1243:1: ( 'system' )
                    {
                     before(grammarAccess.getScopeTypeAccess().getSystemEnumLiteralDeclaration_1()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1244:1: ( 'system' )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1244:3: 'system'
                    {
                    match(input,20,FOLLOW_20_in_rule__ScopeType__Alternatives2600); 

                    }

                     after(grammarAccess.getScopeTypeAccess().getSystemEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1249:6: ( ( 'subsystem' ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1249:6: ( ( 'subsystem' ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1250:1: ( 'subsystem' )
                    {
                     before(grammarAccess.getScopeTypeAccess().getSubsystemEnumLiteralDeclaration_2()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1251:1: ( 'subsystem' )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1251:3: 'subsystem'
                    {
                    match(input,21,FOLLOW_21_in_rule__ScopeType__Alternatives2621); 

                    }

                     after(grammarAccess.getScopeTypeAccess().getSubsystemEnumLiteralDeclaration_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ScopeType__Alternatives"


    // $ANTLR start "rule__Visibility__Alternatives"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1261:1: rule__Visibility__Alternatives : ( ( ( 'black-box' ) ) | ( ( 'white-box' ) ) );
    public final void rule__Visibility__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1265:1: ( ( ( 'black-box' ) ) | ( ( 'white-box' ) ) )
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==22) ) {
                alt7=1;
            }
            else if ( (LA7_0==23) ) {
                alt7=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 7, 0, input);

                throw nvae;
            }
            switch (alt7) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1266:1: ( ( 'black-box' ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1266:1: ( ( 'black-box' ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1267:1: ( 'black-box' )
                    {
                     before(grammarAccess.getVisibilityAccess().getBlackboxEnumLiteralDeclaration_0()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1268:1: ( 'black-box' )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1268:3: 'black-box'
                    {
                    match(input,22,FOLLOW_22_in_rule__Visibility__Alternatives2657); 

                    }

                     after(grammarAccess.getVisibilityAccess().getBlackboxEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1273:6: ( ( 'white-box' ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1273:6: ( ( 'white-box' ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1274:1: ( 'white-box' )
                    {
                     before(grammarAccess.getVisibilityAccess().getWhiteboxEnumLiteralDeclaration_1()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1275:1: ( 'white-box' )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1275:3: 'white-box'
                    {
                    match(input,23,FOLLOW_23_in_rule__Visibility__Alternatives2678); 

                    }

                     after(grammarAccess.getVisibilityAccess().getWhiteboxEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Visibility__Alternatives"


    // $ANTLR start "rule__Level__Alternatives"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1285:1: rule__Level__Alternatives : ( ( ( 'summary' ) ) | ( ( 'user-goal' ) ) | ( ( 'subfunction' ) ) );
    public final void rule__Level__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1289:1: ( ( ( 'summary' ) ) | ( ( 'user-goal' ) ) | ( ( 'subfunction' ) ) )
            int alt8=3;
            switch ( input.LA(1) ) {
            case 24:
                {
                alt8=1;
                }
                break;
            case 25:
                {
                alt8=2;
                }
                break;
            case 26:
                {
                alt8=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 8, 0, input);

                throw nvae;
            }

            switch (alt8) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1290:1: ( ( 'summary' ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1290:1: ( ( 'summary' ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1291:1: ( 'summary' )
                    {
                     before(grammarAccess.getLevelAccess().getSummaryEnumLiteralDeclaration_0()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1292:1: ( 'summary' )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1292:3: 'summary'
                    {
                    match(input,24,FOLLOW_24_in_rule__Level__Alternatives2714); 

                    }

                     after(grammarAccess.getLevelAccess().getSummaryEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1297:6: ( ( 'user-goal' ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1297:6: ( ( 'user-goal' ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1298:1: ( 'user-goal' )
                    {
                     before(grammarAccess.getLevelAccess().getUsergoalEnumLiteralDeclaration_1()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1299:1: ( 'user-goal' )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1299:3: 'user-goal'
                    {
                    match(input,25,FOLLOW_25_in_rule__Level__Alternatives2735); 

                    }

                     after(grammarAccess.getLevelAccess().getUsergoalEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1304:6: ( ( 'subfunction' ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1304:6: ( ( 'subfunction' ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1305:1: ( 'subfunction' )
                    {
                     before(grammarAccess.getLevelAccess().getSubfunctionEnumLiteralDeclaration_2()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1306:1: ( 'subfunction' )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1306:3: 'subfunction'
                    {
                    match(input,26,FOLLOW_26_in_rule__Level__Alternatives2756); 

                    }

                     after(grammarAccess.getLevelAccess().getSubfunctionEnumLiteralDeclaration_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Level__Alternatives"


    // $ANTLR start "rule__ScenarioResult__Alternatives"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1316:1: rule__ScenarioResult__Alternatives : ( ( ( 'success' ) ) | ( ( 'failure' ) ) );
    public final void rule__ScenarioResult__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1320:1: ( ( ( 'success' ) ) | ( ( 'failure' ) ) )
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0==27) ) {
                alt9=1;
            }
            else if ( (LA9_0==28) ) {
                alt9=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 9, 0, input);

                throw nvae;
            }
            switch (alt9) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1321:1: ( ( 'success' ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1321:1: ( ( 'success' ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1322:1: ( 'success' )
                    {
                     before(grammarAccess.getScenarioResultAccess().getSuccessEnumLiteralDeclaration_0()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1323:1: ( 'success' )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1323:3: 'success'
                    {
                    match(input,27,FOLLOW_27_in_rule__ScenarioResult__Alternatives2792); 

                    }

                     after(grammarAccess.getScenarioResultAccess().getSuccessEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1328:6: ( ( 'failure' ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1328:6: ( ( 'failure' ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1329:1: ( 'failure' )
                    {
                     before(grammarAccess.getScenarioResultAccess().getFailureEnumLiteralDeclaration_1()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1330:1: ( 'failure' )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1330:3: 'failure'
                    {
                    match(input,28,FOLLOW_28_in_rule__ScenarioResult__Alternatives2813); 

                    }

                     after(grammarAccess.getScenarioResultAccess().getFailureEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ScenarioResult__Alternatives"


    // $ANTLR start "rule__Model__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1342:1: rule__Model__Group__0 : rule__Model__Group__0__Impl rule__Model__Group__1 ;
    public final void rule__Model__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1346:1: ( rule__Model__Group__0__Impl rule__Model__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1347:2: rule__Model__Group__0__Impl rule__Model__Group__1
            {
            pushFollow(FOLLOW_rule__Model__Group__0__Impl_in_rule__Model__Group__02846);
            rule__Model__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Model__Group__1_in_rule__Model__Group__02849);
            rule__Model__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__Group__0"


    // $ANTLR start "rule__Model__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1354:1: rule__Model__Group__0__Impl : ( ( rule__Model__ImportsAssignment_0 )* ) ;
    public final void rule__Model__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1358:1: ( ( ( rule__Model__ImportsAssignment_0 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1359:1: ( ( rule__Model__ImportsAssignment_0 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1359:1: ( ( rule__Model__ImportsAssignment_0 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1360:1: ( rule__Model__ImportsAssignment_0 )*
            {
             before(grammarAccess.getModelAccess().getImportsAssignment_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1361:1: ( rule__Model__ImportsAssignment_0 )*
            loop10:
            do {
                int alt10=2;
                int LA10_0 = input.LA(1);

                if ( (LA10_0==52) ) {
                    alt10=1;
                }


                switch (alt10) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1361:2: rule__Model__ImportsAssignment_0
            	    {
            	    pushFollow(FOLLOW_rule__Model__ImportsAssignment_0_in_rule__Model__Group__0__Impl2876);
            	    rule__Model__ImportsAssignment_0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop10;
                }
            } while (true);

             after(grammarAccess.getModelAccess().getImportsAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__Group__0__Impl"


    // $ANTLR start "rule__Model__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1371:1: rule__Model__Group__1 : rule__Model__Group__1__Impl ;
    public final void rule__Model__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1375:1: ( rule__Model__Group__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1376:2: rule__Model__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Model__Group__1__Impl_in_rule__Model__Group__12907);
            rule__Model__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__Group__1"


    // $ANTLR start "rule__Model__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1382:1: rule__Model__Group__1__Impl : ( ( rule__Model__PackageAssignment_1 ) ) ;
    public final void rule__Model__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1386:1: ( ( ( rule__Model__PackageAssignment_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1387:1: ( ( rule__Model__PackageAssignment_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1387:1: ( ( rule__Model__PackageAssignment_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1388:1: ( rule__Model__PackageAssignment_1 )
            {
             before(grammarAccess.getModelAccess().getPackageAssignment_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1389:1: ( rule__Model__PackageAssignment_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1389:2: rule__Model__PackageAssignment_1
            {
            pushFollow(FOLLOW_rule__Model__PackageAssignment_1_in_rule__Model__Group__1__Impl2934);
            rule__Model__PackageAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getModelAccess().getPackageAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__Group__1__Impl"


    // $ANTLR start "rule__Package__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1403:1: rule__Package__Group__0 : rule__Package__Group__0__Impl rule__Package__Group__1 ;
    public final void rule__Package__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1407:1: ( rule__Package__Group__0__Impl rule__Package__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1408:2: rule__Package__Group__0__Impl rule__Package__Group__1
            {
            pushFollow(FOLLOW_rule__Package__Group__0__Impl_in_rule__Package__Group__02968);
            rule__Package__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Package__Group__1_in_rule__Package__Group__02971);
            rule__Package__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Package__Group__0"


    // $ANTLR start "rule__Package__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1415:1: rule__Package__Group__0__Impl : ( 'package' ) ;
    public final void rule__Package__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1419:1: ( ( 'package' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1420:1: ( 'package' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1420:1: ( 'package' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1421:1: 'package'
            {
             before(grammarAccess.getPackageAccess().getPackageKeyword_0()); 
            match(input,29,FOLLOW_29_in_rule__Package__Group__0__Impl2999); 
             after(grammarAccess.getPackageAccess().getPackageKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Package__Group__0__Impl"


    // $ANTLR start "rule__Package__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1434:1: rule__Package__Group__1 : rule__Package__Group__1__Impl rule__Package__Group__2 ;
    public final void rule__Package__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1438:1: ( rule__Package__Group__1__Impl rule__Package__Group__2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1439:2: rule__Package__Group__1__Impl rule__Package__Group__2
            {
            pushFollow(FOLLOW_rule__Package__Group__1__Impl_in_rule__Package__Group__13030);
            rule__Package__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Package__Group__2_in_rule__Package__Group__13033);
            rule__Package__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Package__Group__1"


    // $ANTLR start "rule__Package__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1446:1: rule__Package__Group__1__Impl : ( ( rule__Package__NameAssignment_1 ) ) ;
    public final void rule__Package__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1450:1: ( ( ( rule__Package__NameAssignment_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1451:1: ( ( rule__Package__NameAssignment_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1451:1: ( ( rule__Package__NameAssignment_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1452:1: ( rule__Package__NameAssignment_1 )
            {
             before(grammarAccess.getPackageAccess().getNameAssignment_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1453:1: ( rule__Package__NameAssignment_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1453:2: rule__Package__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Package__NameAssignment_1_in_rule__Package__Group__1__Impl3060);
            rule__Package__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getPackageAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Package__Group__1__Impl"


    // $ANTLR start "rule__Package__Group__2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1463:1: rule__Package__Group__2 : rule__Package__Group__2__Impl rule__Package__Group__3 ;
    public final void rule__Package__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1467:1: ( rule__Package__Group__2__Impl rule__Package__Group__3 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1468:2: rule__Package__Group__2__Impl rule__Package__Group__3
            {
            pushFollow(FOLLOW_rule__Package__Group__2__Impl_in_rule__Package__Group__23090);
            rule__Package__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Package__Group__3_in_rule__Package__Group__23093);
            rule__Package__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Package__Group__2"


    // $ANTLR start "rule__Package__Group__2__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1475:1: rule__Package__Group__2__Impl : ( ':' ) ;
    public final void rule__Package__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1479:1: ( ( ':' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1480:1: ( ':' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1480:1: ( ':' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1481:1: ':'
            {
             before(grammarAccess.getPackageAccess().getColonKeyword_2()); 
            match(input,30,FOLLOW_30_in_rule__Package__Group__2__Impl3121); 
             after(grammarAccess.getPackageAccess().getColonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Package__Group__2__Impl"


    // $ANTLR start "rule__Package__Group__3"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1494:1: rule__Package__Group__3 : rule__Package__Group__3__Impl ;
    public final void rule__Package__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1498:1: ( rule__Package__Group__3__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1499:2: rule__Package__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Package__Group__3__Impl_in_rule__Package__Group__33152);
            rule__Package__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Package__Group__3"


    // $ANTLR start "rule__Package__Group__3__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1505:1: rule__Package__Group__3__Impl : ( ( ( rule__Package__UsecasesAssignment_3 ) ) ( ( rule__Package__UsecasesAssignment_3 )* ) ) ;
    public final void rule__Package__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1509:1: ( ( ( ( rule__Package__UsecasesAssignment_3 ) ) ( ( rule__Package__UsecasesAssignment_3 )* ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1510:1: ( ( ( rule__Package__UsecasesAssignment_3 ) ) ( ( rule__Package__UsecasesAssignment_3 )* ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1510:1: ( ( ( rule__Package__UsecasesAssignment_3 ) ) ( ( rule__Package__UsecasesAssignment_3 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1511:1: ( ( rule__Package__UsecasesAssignment_3 ) ) ( ( rule__Package__UsecasesAssignment_3 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1511:1: ( ( rule__Package__UsecasesAssignment_3 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1512:1: ( rule__Package__UsecasesAssignment_3 )
            {
             before(grammarAccess.getPackageAccess().getUsecasesAssignment_3()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1513:1: ( rule__Package__UsecasesAssignment_3 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1513:2: rule__Package__UsecasesAssignment_3
            {
            pushFollow(FOLLOW_rule__Package__UsecasesAssignment_3_in_rule__Package__Group__3__Impl3181);
            rule__Package__UsecasesAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getPackageAccess().getUsecasesAssignment_3()); 

            }

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1516:1: ( ( rule__Package__UsecasesAssignment_3 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1517:1: ( rule__Package__UsecasesAssignment_3 )*
            {
             before(grammarAccess.getPackageAccess().getUsecasesAssignment_3()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1518:1: ( rule__Package__UsecasesAssignment_3 )*
            loop11:
            do {
                int alt11=2;
                int LA11_0 = input.LA(1);

                if ( (LA11_0==31) ) {
                    alt11=1;
                }


                switch (alt11) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1518:2: rule__Package__UsecasesAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__Package__UsecasesAssignment_3_in_rule__Package__Group__3__Impl3193);
            	    rule__Package__UsecasesAssignment_3();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop11;
                }
            } while (true);

             after(grammarAccess.getPackageAccess().getUsecasesAssignment_3()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Package__Group__3__Impl"


    // $ANTLR start "rule__UseCase__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1537:1: rule__UseCase__Group__0 : rule__UseCase__Group__0__Impl rule__UseCase__Group__1 ;
    public final void rule__UseCase__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1541:1: ( rule__UseCase__Group__0__Impl rule__UseCase__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1542:2: rule__UseCase__Group__0__Impl rule__UseCase__Group__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group__0__Impl_in_rule__UseCase__Group__03234);
            rule__UseCase__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group__1_in_rule__UseCase__Group__03237);
            rule__UseCase__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__0"


    // $ANTLR start "rule__UseCase__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1549:1: rule__UseCase__Group__0__Impl : ( 'Use Case' ) ;
    public final void rule__UseCase__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1553:1: ( ( 'Use Case' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1554:1: ( 'Use Case' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1554:1: ( 'Use Case' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1555:1: 'Use Case'
            {
             before(grammarAccess.getUseCaseAccess().getUseCaseKeyword_0()); 
            match(input,31,FOLLOW_31_in_rule__UseCase__Group__0__Impl3265); 
             after(grammarAccess.getUseCaseAccess().getUseCaseKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__0__Impl"


    // $ANTLR start "rule__UseCase__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1568:1: rule__UseCase__Group__1 : rule__UseCase__Group__1__Impl rule__UseCase__Group__2 ;
    public final void rule__UseCase__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1572:1: ( rule__UseCase__Group__1__Impl rule__UseCase__Group__2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1573:2: rule__UseCase__Group__1__Impl rule__UseCase__Group__2
            {
            pushFollow(FOLLOW_rule__UseCase__Group__1__Impl_in_rule__UseCase__Group__13296);
            rule__UseCase__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group__2_in_rule__UseCase__Group__13299);
            rule__UseCase__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__1"


    // $ANTLR start "rule__UseCase__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1580:1: rule__UseCase__Group__1__Impl : ( ( rule__UseCase__NameAssignment_1 ) ) ;
    public final void rule__UseCase__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1584:1: ( ( ( rule__UseCase__NameAssignment_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1585:1: ( ( rule__UseCase__NameAssignment_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1585:1: ( ( rule__UseCase__NameAssignment_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1586:1: ( rule__UseCase__NameAssignment_1 )
            {
             before(grammarAccess.getUseCaseAccess().getNameAssignment_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1587:1: ( rule__UseCase__NameAssignment_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1587:2: rule__UseCase__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__UseCase__NameAssignment_1_in_rule__UseCase__Group__1__Impl3326);
            rule__UseCase__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__1__Impl"


    // $ANTLR start "rule__UseCase__Group__2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1597:1: rule__UseCase__Group__2 : rule__UseCase__Group__2__Impl rule__UseCase__Group__3 ;
    public final void rule__UseCase__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1601:1: ( rule__UseCase__Group__2__Impl rule__UseCase__Group__3 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1602:2: rule__UseCase__Group__2__Impl rule__UseCase__Group__3
            {
            pushFollow(FOLLOW_rule__UseCase__Group__2__Impl_in_rule__UseCase__Group__23356);
            rule__UseCase__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group__3_in_rule__UseCase__Group__23359);
            rule__UseCase__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__2"


    // $ANTLR start "rule__UseCase__Group__2__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1609:1: rule__UseCase__Group__2__Impl : ( ( rule__UseCase__Group_2__0 )? ) ;
    public final void rule__UseCase__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1613:1: ( ( ( rule__UseCase__Group_2__0 )? ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1614:1: ( ( rule__UseCase__Group_2__0 )? )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1614:1: ( ( rule__UseCase__Group_2__0 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1615:1: ( rule__UseCase__Group_2__0 )?
            {
             before(grammarAccess.getUseCaseAccess().getGroup_2()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1616:1: ( rule__UseCase__Group_2__0 )?
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==33) ) {
                alt12=1;
            }
            switch (alt12) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1616:2: rule__UseCase__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__Group_2__0_in_rule__UseCase__Group__2__Impl3386);
                    rule__UseCase__Group_2__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getUseCaseAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__2__Impl"


    // $ANTLR start "rule__UseCase__Group__3"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1626:1: rule__UseCase__Group__3 : rule__UseCase__Group__3__Impl rule__UseCase__Group__4 ;
    public final void rule__UseCase__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1630:1: ( rule__UseCase__Group__3__Impl rule__UseCase__Group__4 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1631:2: rule__UseCase__Group__3__Impl rule__UseCase__Group__4
            {
            pushFollow(FOLLOW_rule__UseCase__Group__3__Impl_in_rule__UseCase__Group__33417);
            rule__UseCase__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group__4_in_rule__UseCase__Group__33420);
            rule__UseCase__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__3"


    // $ANTLR start "rule__UseCase__Group__3__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1638:1: rule__UseCase__Group__3__Impl : ( ( rule__UseCase__UnorderedGroup_3 ) ) ;
    public final void rule__UseCase__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1642:1: ( ( ( rule__UseCase__UnorderedGroup_3 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1643:1: ( ( rule__UseCase__UnorderedGroup_3 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1643:1: ( ( rule__UseCase__UnorderedGroup_3 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1644:1: ( rule__UseCase__UnorderedGroup_3 )
            {
             before(grammarAccess.getUseCaseAccess().getUnorderedGroup_3()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1645:1: ( rule__UseCase__UnorderedGroup_3 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1645:2: rule__UseCase__UnorderedGroup_3
            {
            pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_3_in_rule__UseCase__Group__3__Impl3447);
            rule__UseCase__UnorderedGroup_3();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getUnorderedGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__3__Impl"


    // $ANTLR start "rule__UseCase__Group__4"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1655:1: rule__UseCase__Group__4 : rule__UseCase__Group__4__Impl rule__UseCase__Group__5 ;
    public final void rule__UseCase__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1659:1: ( rule__UseCase__Group__4__Impl rule__UseCase__Group__5 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1660:2: rule__UseCase__Group__4__Impl rule__UseCase__Group__5
            {
            pushFollow(FOLLOW_rule__UseCase__Group__4__Impl_in_rule__UseCase__Group__43477);
            rule__UseCase__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group__5_in_rule__UseCase__Group__43480);
            rule__UseCase__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__4"


    // $ANTLR start "rule__UseCase__Group__4__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1667:1: rule__UseCase__Group__4__Impl : ( ( rule__UseCase__UnorderedGroup_4 ) ) ;
    public final void rule__UseCase__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1671:1: ( ( ( rule__UseCase__UnorderedGroup_4 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1672:1: ( ( rule__UseCase__UnorderedGroup_4 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1672:1: ( ( rule__UseCase__UnorderedGroup_4 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1673:1: ( rule__UseCase__UnorderedGroup_4 )
            {
             before(grammarAccess.getUseCaseAccess().getUnorderedGroup_4()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1674:1: ( rule__UseCase__UnorderedGroup_4 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1674:2: rule__UseCase__UnorderedGroup_4
            {
            pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_4_in_rule__UseCase__Group__4__Impl3507);
            rule__UseCase__UnorderedGroup_4();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getUnorderedGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__4__Impl"


    // $ANTLR start "rule__UseCase__Group__5"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1684:1: rule__UseCase__Group__5 : rule__UseCase__Group__5__Impl rule__UseCase__Group__6 ;
    public final void rule__UseCase__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1688:1: ( rule__UseCase__Group__5__Impl rule__UseCase__Group__6 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1689:2: rule__UseCase__Group__5__Impl rule__UseCase__Group__6
            {
            pushFollow(FOLLOW_rule__UseCase__Group__5__Impl_in_rule__UseCase__Group__53537);
            rule__UseCase__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group__6_in_rule__UseCase__Group__53540);
            rule__UseCase__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__5"


    // $ANTLR start "rule__UseCase__Group__5__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1696:1: rule__UseCase__Group__5__Impl : ( 'Main success scenario:' ) ;
    public final void rule__UseCase__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1700:1: ( ( 'Main success scenario:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1701:1: ( 'Main success scenario:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1701:1: ( 'Main success scenario:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1702:1: 'Main success scenario:'
            {
             before(grammarAccess.getUseCaseAccess().getMainSuccessScenarioKeyword_5()); 
            match(input,32,FOLLOW_32_in_rule__UseCase__Group__5__Impl3568); 
             after(grammarAccess.getUseCaseAccess().getMainSuccessScenarioKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__5__Impl"


    // $ANTLR start "rule__UseCase__Group__6"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1715:1: rule__UseCase__Group__6 : rule__UseCase__Group__6__Impl rule__UseCase__Group__7 ;
    public final void rule__UseCase__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1719:1: ( rule__UseCase__Group__6__Impl rule__UseCase__Group__7 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1720:2: rule__UseCase__Group__6__Impl rule__UseCase__Group__7
            {
            pushFollow(FOLLOW_rule__UseCase__Group__6__Impl_in_rule__UseCase__Group__63599);
            rule__UseCase__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group__7_in_rule__UseCase__Group__63602);
            rule__UseCase__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__6"


    // $ANTLR start "rule__UseCase__Group__6__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1727:1: rule__UseCase__Group__6__Impl : ( ( ( rule__UseCase__StepsAssignment_6 ) ) ( ( rule__UseCase__StepsAssignment_6 )* ) ) ;
    public final void rule__UseCase__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1731:1: ( ( ( ( rule__UseCase__StepsAssignment_6 ) ) ( ( rule__UseCase__StepsAssignment_6 )* ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1732:1: ( ( ( rule__UseCase__StepsAssignment_6 ) ) ( ( rule__UseCase__StepsAssignment_6 )* ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1732:1: ( ( ( rule__UseCase__StepsAssignment_6 ) ) ( ( rule__UseCase__StepsAssignment_6 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1733:1: ( ( rule__UseCase__StepsAssignment_6 ) ) ( ( rule__UseCase__StepsAssignment_6 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1733:1: ( ( rule__UseCase__StepsAssignment_6 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1734:1: ( rule__UseCase__StepsAssignment_6 )
            {
             before(grammarAccess.getUseCaseAccess().getStepsAssignment_6()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1735:1: ( rule__UseCase__StepsAssignment_6 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1735:2: rule__UseCase__StepsAssignment_6
            {
            pushFollow(FOLLOW_rule__UseCase__StepsAssignment_6_in_rule__UseCase__Group__6__Impl3631);
            rule__UseCase__StepsAssignment_6();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getStepsAssignment_6()); 

            }

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1738:1: ( ( rule__UseCase__StepsAssignment_6 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1739:1: ( rule__UseCase__StepsAssignment_6 )*
            {
             before(grammarAccess.getUseCaseAccess().getStepsAssignment_6()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1740:1: ( rule__UseCase__StepsAssignment_6 )*
            loop13:
            do {
                int alt13=2;
                int LA13_0 = input.LA(1);

                if ( (LA13_0==RULE_INT) ) {
                    alt13=1;
                }


                switch (alt13) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1740:2: rule__UseCase__StepsAssignment_6
            	    {
            	    pushFollow(FOLLOW_rule__UseCase__StepsAssignment_6_in_rule__UseCase__Group__6__Impl3643);
            	    rule__UseCase__StepsAssignment_6();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop13;
                }
            } while (true);

             after(grammarAccess.getUseCaseAccess().getStepsAssignment_6()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__6__Impl"


    // $ANTLR start "rule__UseCase__Group__7"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1751:1: rule__UseCase__Group__7 : rule__UseCase__Group__7__Impl rule__UseCase__Group__8 ;
    public final void rule__UseCase__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1755:1: ( rule__UseCase__Group__7__Impl rule__UseCase__Group__8 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1756:2: rule__UseCase__Group__7__Impl rule__UseCase__Group__8
            {
            pushFollow(FOLLOW_rule__UseCase__Group__7__Impl_in_rule__UseCase__Group__73676);
            rule__UseCase__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group__8_in_rule__UseCase__Group__73679);
            rule__UseCase__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__7"


    // $ANTLR start "rule__UseCase__Group__7__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1763:1: rule__UseCase__Group__7__Impl : ( ( rule__UseCase__Group_7__0 )? ) ;
    public final void rule__UseCase__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1767:1: ( ( ( rule__UseCase__Group_7__0 )? ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1768:1: ( ( rule__UseCase__Group_7__0 )? )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1768:1: ( ( rule__UseCase__Group_7__0 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1769:1: ( rule__UseCase__Group_7__0 )?
            {
             before(grammarAccess.getUseCaseAccess().getGroup_7()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1770:1: ( rule__UseCase__Group_7__0 )?
            int alt14=2;
            int LA14_0 = input.LA(1);

            if ( (LA14_0==44) ) {
                alt14=1;
            }
            switch (alt14) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1770:2: rule__UseCase__Group_7__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__Group_7__0_in_rule__UseCase__Group__7__Impl3706);
                    rule__UseCase__Group_7__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getUseCaseAccess().getGroup_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__7__Impl"


    // $ANTLR start "rule__UseCase__Group__8"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1780:1: rule__UseCase__Group__8 : rule__UseCase__Group__8__Impl rule__UseCase__Group__9 ;
    public final void rule__UseCase__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1784:1: ( rule__UseCase__Group__8__Impl rule__UseCase__Group__9 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1785:2: rule__UseCase__Group__8__Impl rule__UseCase__Group__9
            {
            pushFollow(FOLLOW_rule__UseCase__Group__8__Impl_in_rule__UseCase__Group__83737);
            rule__UseCase__Group__8__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group__9_in_rule__UseCase__Group__83740);
            rule__UseCase__Group__9();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__8"


    // $ANTLR start "rule__UseCase__Group__8__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1792:1: rule__UseCase__Group__8__Impl : ( ( rule__UseCase__Group_8__0 )? ) ;
    public final void rule__UseCase__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1796:1: ( ( ( rule__UseCase__Group_8__0 )? ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1797:1: ( ( rule__UseCase__Group_8__0 )? )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1797:1: ( ( rule__UseCase__Group_8__0 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1798:1: ( rule__UseCase__Group_8__0 )?
            {
             before(grammarAccess.getUseCaseAccess().getGroup_8()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1799:1: ( rule__UseCase__Group_8__0 )?
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( (LA15_0==45) ) {
                alt15=1;
            }
            switch (alt15) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1799:2: rule__UseCase__Group_8__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__Group_8__0_in_rule__UseCase__Group__8__Impl3767);
                    rule__UseCase__Group_8__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getUseCaseAccess().getGroup_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__8__Impl"


    // $ANTLR start "rule__UseCase__Group__9"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1809:1: rule__UseCase__Group__9 : rule__UseCase__Group__9__Impl ;
    public final void rule__UseCase__Group__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1813:1: ( rule__UseCase__Group__9__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1814:2: rule__UseCase__Group__9__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group__9__Impl_in_rule__UseCase__Group__93798);
            rule__UseCase__Group__9__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__9"


    // $ANTLR start "rule__UseCase__Group__9__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1820:1: rule__UseCase__Group__9__Impl : ( ( rule__UseCase__Group_9__0 )? ) ;
    public final void rule__UseCase__Group__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1824:1: ( ( ( rule__UseCase__Group_9__0 )? ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1825:1: ( ( rule__UseCase__Group_9__0 )? )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1825:1: ( ( rule__UseCase__Group_9__0 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1826:1: ( rule__UseCase__Group_9__0 )?
            {
             before(grammarAccess.getUseCaseAccess().getGroup_9()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1827:1: ( rule__UseCase__Group_9__0 )?
            int alt16=2;
            int LA16_0 = input.LA(1);

            if ( (LA16_0==46) ) {
                alt16=1;
            }
            switch (alt16) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1827:2: rule__UseCase__Group_9__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__Group_9__0_in_rule__UseCase__Group__9__Impl3825);
                    rule__UseCase__Group_9__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getUseCaseAccess().getGroup_9()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group__9__Impl"


    // $ANTLR start "rule__UseCase__Group_2__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1857:1: rule__UseCase__Group_2__0 : rule__UseCase__Group_2__0__Impl rule__UseCase__Group_2__1 ;
    public final void rule__UseCase__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1861:1: ( rule__UseCase__Group_2__0__Impl rule__UseCase__Group_2__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1862:2: rule__UseCase__Group_2__0__Impl rule__UseCase__Group_2__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group_2__0__Impl_in_rule__UseCase__Group_2__03876);
            rule__UseCase__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group_2__1_in_rule__UseCase__Group_2__03879);
            rule__UseCase__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_2__0"


    // $ANTLR start "rule__UseCase__Group_2__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1869:1: rule__UseCase__Group_2__0__Impl : ( 'Goal:' ) ;
    public final void rule__UseCase__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1873:1: ( ( 'Goal:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1874:1: ( 'Goal:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1874:1: ( 'Goal:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1875:1: 'Goal:'
            {
             before(grammarAccess.getUseCaseAccess().getGoalKeyword_2_0()); 
            match(input,33,FOLLOW_33_in_rule__UseCase__Group_2__0__Impl3907); 
             after(grammarAccess.getUseCaseAccess().getGoalKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_2__0__Impl"


    // $ANTLR start "rule__UseCase__Group_2__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1888:1: rule__UseCase__Group_2__1 : rule__UseCase__Group_2__1__Impl ;
    public final void rule__UseCase__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1892:1: ( rule__UseCase__Group_2__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1893:2: rule__UseCase__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group_2__1__Impl_in_rule__UseCase__Group_2__13938);
            rule__UseCase__Group_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_2__1"


    // $ANTLR start "rule__UseCase__Group_2__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1899:1: rule__UseCase__Group_2__1__Impl : ( ( rule__UseCase__DescriptionAssignment_2_1 ) ) ;
    public final void rule__UseCase__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1903:1: ( ( ( rule__UseCase__DescriptionAssignment_2_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1904:1: ( ( rule__UseCase__DescriptionAssignment_2_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1904:1: ( ( rule__UseCase__DescriptionAssignment_2_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1905:1: ( rule__UseCase__DescriptionAssignment_2_1 )
            {
             before(grammarAccess.getUseCaseAccess().getDescriptionAssignment_2_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1906:1: ( rule__UseCase__DescriptionAssignment_2_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1906:2: rule__UseCase__DescriptionAssignment_2_1
            {
            pushFollow(FOLLOW_rule__UseCase__DescriptionAssignment_2_1_in_rule__UseCase__Group_2__1__Impl3965);
            rule__UseCase__DescriptionAssignment_2_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getDescriptionAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_2__1__Impl"


    // $ANTLR start "rule__UseCase__Group_3_0__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1920:1: rule__UseCase__Group_3_0__0 : rule__UseCase__Group_3_0__0__Impl rule__UseCase__Group_3_0__1 ;
    public final void rule__UseCase__Group_3_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1924:1: ( rule__UseCase__Group_3_0__0__Impl rule__UseCase__Group_3_0__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1925:2: rule__UseCase__Group_3_0__0__Impl rule__UseCase__Group_3_0__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group_3_0__0__Impl_in_rule__UseCase__Group_3_0__03999);
            rule__UseCase__Group_3_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group_3_0__1_in_rule__UseCase__Group_3_0__04002);
            rule__UseCase__Group_3_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_0__0"


    // $ANTLR start "rule__UseCase__Group_3_0__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1932:1: rule__UseCase__Group_3_0__0__Impl : ( 'Scope:' ) ;
    public final void rule__UseCase__Group_3_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1936:1: ( ( 'Scope:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1937:1: ( 'Scope:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1937:1: ( 'Scope:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1938:1: 'Scope:'
            {
             before(grammarAccess.getUseCaseAccess().getScopeKeyword_3_0_0()); 
            match(input,34,FOLLOW_34_in_rule__UseCase__Group_3_0__0__Impl4030); 
             after(grammarAccess.getUseCaseAccess().getScopeKeyword_3_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_0__0__Impl"


    // $ANTLR start "rule__UseCase__Group_3_0__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1951:1: rule__UseCase__Group_3_0__1 : rule__UseCase__Group_3_0__1__Impl ;
    public final void rule__UseCase__Group_3_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1955:1: ( rule__UseCase__Group_3_0__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1956:2: rule__UseCase__Group_3_0__1__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group_3_0__1__Impl_in_rule__UseCase__Group_3_0__14061);
            rule__UseCase__Group_3_0__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_0__1"


    // $ANTLR start "rule__UseCase__Group_3_0__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1962:1: rule__UseCase__Group_3_0__1__Impl : ( ( rule__UseCase__ScopeAssignment_3_0_1 ) ) ;
    public final void rule__UseCase__Group_3_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1966:1: ( ( ( rule__UseCase__ScopeAssignment_3_0_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1967:1: ( ( rule__UseCase__ScopeAssignment_3_0_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1967:1: ( ( rule__UseCase__ScopeAssignment_3_0_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1968:1: ( rule__UseCase__ScopeAssignment_3_0_1 )
            {
             before(grammarAccess.getUseCaseAccess().getScopeAssignment_3_0_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1969:1: ( rule__UseCase__ScopeAssignment_3_0_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1969:2: rule__UseCase__ScopeAssignment_3_0_1
            {
            pushFollow(FOLLOW_rule__UseCase__ScopeAssignment_3_0_1_in_rule__UseCase__Group_3_0__1__Impl4088);
            rule__UseCase__ScopeAssignment_3_0_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getScopeAssignment_3_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_0__1__Impl"


    // $ANTLR start "rule__UseCase__Group_3_1__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1983:1: rule__UseCase__Group_3_1__0 : rule__UseCase__Group_3_1__0__Impl rule__UseCase__Group_3_1__1 ;
    public final void rule__UseCase__Group_3_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1987:1: ( rule__UseCase__Group_3_1__0__Impl rule__UseCase__Group_3_1__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1988:2: rule__UseCase__Group_3_1__0__Impl rule__UseCase__Group_3_1__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group_3_1__0__Impl_in_rule__UseCase__Group_3_1__04122);
            rule__UseCase__Group_3_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group_3_1__1_in_rule__UseCase__Group_3_1__04125);
            rule__UseCase__Group_3_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_1__0"


    // $ANTLR start "rule__UseCase__Group_3_1__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1995:1: rule__UseCase__Group_3_1__0__Impl : ( 'Level:' ) ;
    public final void rule__UseCase__Group_3_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:1999:1: ( ( 'Level:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2000:1: ( 'Level:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2000:1: ( 'Level:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2001:1: 'Level:'
            {
             before(grammarAccess.getUseCaseAccess().getLevelKeyword_3_1_0()); 
            match(input,35,FOLLOW_35_in_rule__UseCase__Group_3_1__0__Impl4153); 
             after(grammarAccess.getUseCaseAccess().getLevelKeyword_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_1__0__Impl"


    // $ANTLR start "rule__UseCase__Group_3_1__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2014:1: rule__UseCase__Group_3_1__1 : rule__UseCase__Group_3_1__1__Impl ;
    public final void rule__UseCase__Group_3_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2018:1: ( rule__UseCase__Group_3_1__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2019:2: rule__UseCase__Group_3_1__1__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group_3_1__1__Impl_in_rule__UseCase__Group_3_1__14184);
            rule__UseCase__Group_3_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_1__1"


    // $ANTLR start "rule__UseCase__Group_3_1__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2025:1: rule__UseCase__Group_3_1__1__Impl : ( ( rule__UseCase__LevelAssignment_3_1_1 ) ) ;
    public final void rule__UseCase__Group_3_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2029:1: ( ( ( rule__UseCase__LevelAssignment_3_1_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2030:1: ( ( rule__UseCase__LevelAssignment_3_1_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2030:1: ( ( rule__UseCase__LevelAssignment_3_1_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2031:1: ( rule__UseCase__LevelAssignment_3_1_1 )
            {
             before(grammarAccess.getUseCaseAccess().getLevelAssignment_3_1_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2032:1: ( rule__UseCase__LevelAssignment_3_1_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2032:2: rule__UseCase__LevelAssignment_3_1_1
            {
            pushFollow(FOLLOW_rule__UseCase__LevelAssignment_3_1_1_in_rule__UseCase__Group_3_1__1__Impl4211);
            rule__UseCase__LevelAssignment_3_1_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getLevelAssignment_3_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_1__1__Impl"


    // $ANTLR start "rule__UseCase__Group_3_2__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2046:1: rule__UseCase__Group_3_2__0 : rule__UseCase__Group_3_2__0__Impl rule__UseCase__Group_3_2__1 ;
    public final void rule__UseCase__Group_3_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2050:1: ( rule__UseCase__Group_3_2__0__Impl rule__UseCase__Group_3_2__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2051:2: rule__UseCase__Group_3_2__0__Impl rule__UseCase__Group_3_2__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group_3_2__0__Impl_in_rule__UseCase__Group_3_2__04245);
            rule__UseCase__Group_3_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group_3_2__1_in_rule__UseCase__Group_3_2__04248);
            rule__UseCase__Group_3_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_2__0"


    // $ANTLR start "rule__UseCase__Group_3_2__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2058:1: rule__UseCase__Group_3_2__0__Impl : ( 'Primary actor:' ) ;
    public final void rule__UseCase__Group_3_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2062:1: ( ( 'Primary actor:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2063:1: ( 'Primary actor:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2063:1: ( 'Primary actor:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2064:1: 'Primary actor:'
            {
             before(grammarAccess.getUseCaseAccess().getPrimaryActorKeyword_3_2_0()); 
            match(input,36,FOLLOW_36_in_rule__UseCase__Group_3_2__0__Impl4276); 
             after(grammarAccess.getUseCaseAccess().getPrimaryActorKeyword_3_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_2__0__Impl"


    // $ANTLR start "rule__UseCase__Group_3_2__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2077:1: rule__UseCase__Group_3_2__1 : rule__UseCase__Group_3_2__1__Impl ;
    public final void rule__UseCase__Group_3_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2081:1: ( rule__UseCase__Group_3_2__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2082:2: rule__UseCase__Group_3_2__1__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group_3_2__1__Impl_in_rule__UseCase__Group_3_2__14307);
            rule__UseCase__Group_3_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_2__1"


    // $ANTLR start "rule__UseCase__Group_3_2__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2088:1: rule__UseCase__Group_3_2__1__Impl : ( ( rule__UseCase__PrimaryActorAssignment_3_2_1 ) ) ;
    public final void rule__UseCase__Group_3_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2092:1: ( ( ( rule__UseCase__PrimaryActorAssignment_3_2_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2093:1: ( ( rule__UseCase__PrimaryActorAssignment_3_2_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2093:1: ( ( rule__UseCase__PrimaryActorAssignment_3_2_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2094:1: ( rule__UseCase__PrimaryActorAssignment_3_2_1 )
            {
             before(grammarAccess.getUseCaseAccess().getPrimaryActorAssignment_3_2_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2095:1: ( rule__UseCase__PrimaryActorAssignment_3_2_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2095:2: rule__UseCase__PrimaryActorAssignment_3_2_1
            {
            pushFollow(FOLLOW_rule__UseCase__PrimaryActorAssignment_3_2_1_in_rule__UseCase__Group_3_2__1__Impl4334);
            rule__UseCase__PrimaryActorAssignment_3_2_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getPrimaryActorAssignment_3_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_2__1__Impl"


    // $ANTLR start "rule__UseCase__Group_3_3__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2109:1: rule__UseCase__Group_3_3__0 : rule__UseCase__Group_3_3__0__Impl rule__UseCase__Group_3_3__1 ;
    public final void rule__UseCase__Group_3_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2113:1: ( rule__UseCase__Group_3_3__0__Impl rule__UseCase__Group_3_3__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2114:2: rule__UseCase__Group_3_3__0__Impl rule__UseCase__Group_3_3__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group_3_3__0__Impl_in_rule__UseCase__Group_3_3__04368);
            rule__UseCase__Group_3_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group_3_3__1_in_rule__UseCase__Group_3_3__04371);
            rule__UseCase__Group_3_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_3__0"


    // $ANTLR start "rule__UseCase__Group_3_3__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2121:1: rule__UseCase__Group_3_3__0__Impl : ( 'Secondary actors:' ) ;
    public final void rule__UseCase__Group_3_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2125:1: ( ( 'Secondary actors:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2126:1: ( 'Secondary actors:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2126:1: ( 'Secondary actors:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2127:1: 'Secondary actors:'
            {
             before(grammarAccess.getUseCaseAccess().getSecondaryActorsKeyword_3_3_0()); 
            match(input,37,FOLLOW_37_in_rule__UseCase__Group_3_3__0__Impl4399); 
             after(grammarAccess.getUseCaseAccess().getSecondaryActorsKeyword_3_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_3__0__Impl"


    // $ANTLR start "rule__UseCase__Group_3_3__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2140:1: rule__UseCase__Group_3_3__1 : rule__UseCase__Group_3_3__1__Impl ;
    public final void rule__UseCase__Group_3_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2144:1: ( rule__UseCase__Group_3_3__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2145:2: rule__UseCase__Group_3_3__1__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group_3_3__1__Impl_in_rule__UseCase__Group_3_3__14430);
            rule__UseCase__Group_3_3__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_3__1"


    // $ANTLR start "rule__UseCase__Group_3_3__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2151:1: rule__UseCase__Group_3_3__1__Impl : ( ( ( rule__UseCase__SecondaryActorsAssignment_3_3_1 ) ) ( ( rule__UseCase__SecondaryActorsAssignment_3_3_1 )* ) ) ;
    public final void rule__UseCase__Group_3_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2155:1: ( ( ( ( rule__UseCase__SecondaryActorsAssignment_3_3_1 ) ) ( ( rule__UseCase__SecondaryActorsAssignment_3_3_1 )* ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2156:1: ( ( ( rule__UseCase__SecondaryActorsAssignment_3_3_1 ) ) ( ( rule__UseCase__SecondaryActorsAssignment_3_3_1 )* ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2156:1: ( ( ( rule__UseCase__SecondaryActorsAssignment_3_3_1 ) ) ( ( rule__UseCase__SecondaryActorsAssignment_3_3_1 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2157:1: ( ( rule__UseCase__SecondaryActorsAssignment_3_3_1 ) ) ( ( rule__UseCase__SecondaryActorsAssignment_3_3_1 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2157:1: ( ( rule__UseCase__SecondaryActorsAssignment_3_3_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2158:1: ( rule__UseCase__SecondaryActorsAssignment_3_3_1 )
            {
             before(grammarAccess.getUseCaseAccess().getSecondaryActorsAssignment_3_3_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2159:1: ( rule__UseCase__SecondaryActorsAssignment_3_3_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2159:2: rule__UseCase__SecondaryActorsAssignment_3_3_1
            {
            pushFollow(FOLLOW_rule__UseCase__SecondaryActorsAssignment_3_3_1_in_rule__UseCase__Group_3_3__1__Impl4459);
            rule__UseCase__SecondaryActorsAssignment_3_3_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getSecondaryActorsAssignment_3_3_1()); 

            }

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2162:1: ( ( rule__UseCase__SecondaryActorsAssignment_3_3_1 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2163:1: ( rule__UseCase__SecondaryActorsAssignment_3_3_1 )*
            {
             before(grammarAccess.getUseCaseAccess().getSecondaryActorsAssignment_3_3_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2164:1: ( rule__UseCase__SecondaryActorsAssignment_3_3_1 )*
            loop17:
            do {
                int alt17=2;
                int LA17_0 = input.LA(1);

                if ( (LA17_0==RULE_UPID) ) {
                    alt17=1;
                }


                switch (alt17) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2164:2: rule__UseCase__SecondaryActorsAssignment_3_3_1
            	    {
            	    pushFollow(FOLLOW_rule__UseCase__SecondaryActorsAssignment_3_3_1_in_rule__UseCase__Group_3_3__1__Impl4471);
            	    rule__UseCase__SecondaryActorsAssignment_3_3_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop17;
                }
            } while (true);

             after(grammarAccess.getUseCaseAccess().getSecondaryActorsAssignment_3_3_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_3__1__Impl"


    // $ANTLR start "rule__UseCase__Group_3_4__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2179:1: rule__UseCase__Group_3_4__0 : rule__UseCase__Group_3_4__0__Impl rule__UseCase__Group_3_4__1 ;
    public final void rule__UseCase__Group_3_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2183:1: ( rule__UseCase__Group_3_4__0__Impl rule__UseCase__Group_3_4__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2184:2: rule__UseCase__Group_3_4__0__Impl rule__UseCase__Group_3_4__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group_3_4__0__Impl_in_rule__UseCase__Group_3_4__04508);
            rule__UseCase__Group_3_4__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group_3_4__1_in_rule__UseCase__Group_3_4__04511);
            rule__UseCase__Group_3_4__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_4__0"


    // $ANTLR start "rule__UseCase__Group_3_4__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2191:1: rule__UseCase__Group_3_4__0__Impl : ( 'Stakeholders:' ) ;
    public final void rule__UseCase__Group_3_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2195:1: ( ( 'Stakeholders:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2196:1: ( 'Stakeholders:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2196:1: ( 'Stakeholders:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2197:1: 'Stakeholders:'
            {
             before(grammarAccess.getUseCaseAccess().getStakeholdersKeyword_3_4_0()); 
            match(input,38,FOLLOW_38_in_rule__UseCase__Group_3_4__0__Impl4539); 
             after(grammarAccess.getUseCaseAccess().getStakeholdersKeyword_3_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_4__0__Impl"


    // $ANTLR start "rule__UseCase__Group_3_4__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2210:1: rule__UseCase__Group_3_4__1 : rule__UseCase__Group_3_4__1__Impl ;
    public final void rule__UseCase__Group_3_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2214:1: ( rule__UseCase__Group_3_4__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2215:2: rule__UseCase__Group_3_4__1__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group_3_4__1__Impl_in_rule__UseCase__Group_3_4__14570);
            rule__UseCase__Group_3_4__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_4__1"


    // $ANTLR start "rule__UseCase__Group_3_4__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2221:1: rule__UseCase__Group_3_4__1__Impl : ( ( ( rule__UseCase__TertiaryActorsAssignment_3_4_1 ) ) ( ( rule__UseCase__TertiaryActorsAssignment_3_4_1 )* ) ) ;
    public final void rule__UseCase__Group_3_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2225:1: ( ( ( ( rule__UseCase__TertiaryActorsAssignment_3_4_1 ) ) ( ( rule__UseCase__TertiaryActorsAssignment_3_4_1 )* ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2226:1: ( ( ( rule__UseCase__TertiaryActorsAssignment_3_4_1 ) ) ( ( rule__UseCase__TertiaryActorsAssignment_3_4_1 )* ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2226:1: ( ( ( rule__UseCase__TertiaryActorsAssignment_3_4_1 ) ) ( ( rule__UseCase__TertiaryActorsAssignment_3_4_1 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2227:1: ( ( rule__UseCase__TertiaryActorsAssignment_3_4_1 ) ) ( ( rule__UseCase__TertiaryActorsAssignment_3_4_1 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2227:1: ( ( rule__UseCase__TertiaryActorsAssignment_3_4_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2228:1: ( rule__UseCase__TertiaryActorsAssignment_3_4_1 )
            {
             before(grammarAccess.getUseCaseAccess().getTertiaryActorsAssignment_3_4_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2229:1: ( rule__UseCase__TertiaryActorsAssignment_3_4_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2229:2: rule__UseCase__TertiaryActorsAssignment_3_4_1
            {
            pushFollow(FOLLOW_rule__UseCase__TertiaryActorsAssignment_3_4_1_in_rule__UseCase__Group_3_4__1__Impl4599);
            rule__UseCase__TertiaryActorsAssignment_3_4_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getTertiaryActorsAssignment_3_4_1()); 

            }

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2232:1: ( ( rule__UseCase__TertiaryActorsAssignment_3_4_1 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2233:1: ( rule__UseCase__TertiaryActorsAssignment_3_4_1 )*
            {
             before(grammarAccess.getUseCaseAccess().getTertiaryActorsAssignment_3_4_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2234:1: ( rule__UseCase__TertiaryActorsAssignment_3_4_1 )*
            loop18:
            do {
                int alt18=2;
                int LA18_0 = input.LA(1);

                if ( (LA18_0==RULE_UPID) ) {
                    alt18=1;
                }


                switch (alt18) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2234:2: rule__UseCase__TertiaryActorsAssignment_3_4_1
            	    {
            	    pushFollow(FOLLOW_rule__UseCase__TertiaryActorsAssignment_3_4_1_in_rule__UseCase__Group_3_4__1__Impl4611);
            	    rule__UseCase__TertiaryActorsAssignment_3_4_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop18;
                }
            } while (true);

             after(grammarAccess.getUseCaseAccess().getTertiaryActorsAssignment_3_4_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_4__1__Impl"


    // $ANTLR start "rule__UseCase__Group_3_5__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2249:1: rule__UseCase__Group_3_5__0 : rule__UseCase__Group_3_5__0__Impl rule__UseCase__Group_3_5__1 ;
    public final void rule__UseCase__Group_3_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2253:1: ( rule__UseCase__Group_3_5__0__Impl rule__UseCase__Group_3_5__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2254:2: rule__UseCase__Group_3_5__0__Impl rule__UseCase__Group_3_5__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group_3_5__0__Impl_in_rule__UseCase__Group_3_5__04648);
            rule__UseCase__Group_3_5__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group_3_5__1_in_rule__UseCase__Group_3_5__04651);
            rule__UseCase__Group_3_5__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_5__0"


    // $ANTLR start "rule__UseCase__Group_3_5__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2261:1: rule__UseCase__Group_3_5__0__Impl : ( 'Interests:' ) ;
    public final void rule__UseCase__Group_3_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2265:1: ( ( 'Interests:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2266:1: ( 'Interests:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2266:1: ( 'Interests:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2267:1: 'Interests:'
            {
             before(grammarAccess.getUseCaseAccess().getInterestsKeyword_3_5_0()); 
            match(input,39,FOLLOW_39_in_rule__UseCase__Group_3_5__0__Impl4679); 
             after(grammarAccess.getUseCaseAccess().getInterestsKeyword_3_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_5__0__Impl"


    // $ANTLR start "rule__UseCase__Group_3_5__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2280:1: rule__UseCase__Group_3_5__1 : rule__UseCase__Group_3_5__1__Impl ;
    public final void rule__UseCase__Group_3_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2284:1: ( rule__UseCase__Group_3_5__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2285:2: rule__UseCase__Group_3_5__1__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group_3_5__1__Impl_in_rule__UseCase__Group_3_5__14710);
            rule__UseCase__Group_3_5__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_5__1"


    // $ANTLR start "rule__UseCase__Group_3_5__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2291:1: rule__UseCase__Group_3_5__1__Impl : ( ( ( rule__UseCase__InterestsAssignment_3_5_1 ) ) ( ( rule__UseCase__InterestsAssignment_3_5_1 )* ) ) ;
    public final void rule__UseCase__Group_3_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2295:1: ( ( ( ( rule__UseCase__InterestsAssignment_3_5_1 ) ) ( ( rule__UseCase__InterestsAssignment_3_5_1 )* ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2296:1: ( ( ( rule__UseCase__InterestsAssignment_3_5_1 ) ) ( ( rule__UseCase__InterestsAssignment_3_5_1 )* ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2296:1: ( ( ( rule__UseCase__InterestsAssignment_3_5_1 ) ) ( ( rule__UseCase__InterestsAssignment_3_5_1 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2297:1: ( ( rule__UseCase__InterestsAssignment_3_5_1 ) ) ( ( rule__UseCase__InterestsAssignment_3_5_1 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2297:1: ( ( rule__UseCase__InterestsAssignment_3_5_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2298:1: ( rule__UseCase__InterestsAssignment_3_5_1 )
            {
             before(grammarAccess.getUseCaseAccess().getInterestsAssignment_3_5_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2299:1: ( rule__UseCase__InterestsAssignment_3_5_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2299:2: rule__UseCase__InterestsAssignment_3_5_1
            {
            pushFollow(FOLLOW_rule__UseCase__InterestsAssignment_3_5_1_in_rule__UseCase__Group_3_5__1__Impl4739);
            rule__UseCase__InterestsAssignment_3_5_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getInterestsAssignment_3_5_1()); 

            }

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2302:1: ( ( rule__UseCase__InterestsAssignment_3_5_1 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2303:1: ( rule__UseCase__InterestsAssignment_3_5_1 )*
            {
             before(grammarAccess.getUseCaseAccess().getInterestsAssignment_3_5_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2304:1: ( rule__UseCase__InterestsAssignment_3_5_1 )*
            loop19:
            do {
                int alt19=2;
                int LA19_0 = input.LA(1);

                if ( (LA19_0==RULE_UPID) ) {
                    alt19=1;
                }


                switch (alt19) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2304:2: rule__UseCase__InterestsAssignment_3_5_1
            	    {
            	    pushFollow(FOLLOW_rule__UseCase__InterestsAssignment_3_5_1_in_rule__UseCase__Group_3_5__1__Impl4751);
            	    rule__UseCase__InterestsAssignment_3_5_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop19;
                }
            } while (true);

             after(grammarAccess.getUseCaseAccess().getInterestsAssignment_3_5_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_3_5__1__Impl"


    // $ANTLR start "rule__UseCase__Group_4_0__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2319:1: rule__UseCase__Group_4_0__0 : rule__UseCase__Group_4_0__0__Impl rule__UseCase__Group_4_0__1 ;
    public final void rule__UseCase__Group_4_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2323:1: ( rule__UseCase__Group_4_0__0__Impl rule__UseCase__Group_4_0__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2324:2: rule__UseCase__Group_4_0__0__Impl rule__UseCase__Group_4_0__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group_4_0__0__Impl_in_rule__UseCase__Group_4_0__04788);
            rule__UseCase__Group_4_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group_4_0__1_in_rule__UseCase__Group_4_0__04791);
            rule__UseCase__Group_4_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_0__0"


    // $ANTLR start "rule__UseCase__Group_4_0__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2331:1: rule__UseCase__Group_4_0__0__Impl : ( 'Preconditions:' ) ;
    public final void rule__UseCase__Group_4_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2335:1: ( ( 'Preconditions:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2336:1: ( 'Preconditions:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2336:1: ( 'Preconditions:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2337:1: 'Preconditions:'
            {
             before(grammarAccess.getUseCaseAccess().getPreconditionsKeyword_4_0_0()); 
            match(input,40,FOLLOW_40_in_rule__UseCase__Group_4_0__0__Impl4819); 
             after(grammarAccess.getUseCaseAccess().getPreconditionsKeyword_4_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_0__0__Impl"


    // $ANTLR start "rule__UseCase__Group_4_0__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2350:1: rule__UseCase__Group_4_0__1 : rule__UseCase__Group_4_0__1__Impl ;
    public final void rule__UseCase__Group_4_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2354:1: ( rule__UseCase__Group_4_0__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2355:2: rule__UseCase__Group_4_0__1__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group_4_0__1__Impl_in_rule__UseCase__Group_4_0__14850);
            rule__UseCase__Group_4_0__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_0__1"


    // $ANTLR start "rule__UseCase__Group_4_0__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2361:1: rule__UseCase__Group_4_0__1__Impl : ( ( ( rule__UseCase__PreconditionsAssignment_4_0_1 ) ) ( ( rule__UseCase__PreconditionsAssignment_4_0_1 )* ) ) ;
    public final void rule__UseCase__Group_4_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2365:1: ( ( ( ( rule__UseCase__PreconditionsAssignment_4_0_1 ) ) ( ( rule__UseCase__PreconditionsAssignment_4_0_1 )* ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2366:1: ( ( ( rule__UseCase__PreconditionsAssignment_4_0_1 ) ) ( ( rule__UseCase__PreconditionsAssignment_4_0_1 )* ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2366:1: ( ( ( rule__UseCase__PreconditionsAssignment_4_0_1 ) ) ( ( rule__UseCase__PreconditionsAssignment_4_0_1 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2367:1: ( ( rule__UseCase__PreconditionsAssignment_4_0_1 ) ) ( ( rule__UseCase__PreconditionsAssignment_4_0_1 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2367:1: ( ( rule__UseCase__PreconditionsAssignment_4_0_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2368:1: ( rule__UseCase__PreconditionsAssignment_4_0_1 )
            {
             before(grammarAccess.getUseCaseAccess().getPreconditionsAssignment_4_0_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2369:1: ( rule__UseCase__PreconditionsAssignment_4_0_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2369:2: rule__UseCase__PreconditionsAssignment_4_0_1
            {
            pushFollow(FOLLOW_rule__UseCase__PreconditionsAssignment_4_0_1_in_rule__UseCase__Group_4_0__1__Impl4879);
            rule__UseCase__PreconditionsAssignment_4_0_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getPreconditionsAssignment_4_0_1()); 

            }

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2372:1: ( ( rule__UseCase__PreconditionsAssignment_4_0_1 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2373:1: ( rule__UseCase__PreconditionsAssignment_4_0_1 )*
            {
             before(grammarAccess.getUseCaseAccess().getPreconditionsAssignment_4_0_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2374:1: ( rule__UseCase__PreconditionsAssignment_4_0_1 )*
            loop20:
            do {
                int alt20=2;
                int LA20_0 = input.LA(1);

                if ( (LA20_0==RULE_UPID) ) {
                    alt20=1;
                }


                switch (alt20) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2374:2: rule__UseCase__PreconditionsAssignment_4_0_1
            	    {
            	    pushFollow(FOLLOW_rule__UseCase__PreconditionsAssignment_4_0_1_in_rule__UseCase__Group_4_0__1__Impl4891);
            	    rule__UseCase__PreconditionsAssignment_4_0_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop20;
                }
            } while (true);

             after(grammarAccess.getUseCaseAccess().getPreconditionsAssignment_4_0_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_0__1__Impl"


    // $ANTLR start "rule__UseCase__Group_4_1__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2389:1: rule__UseCase__Group_4_1__0 : rule__UseCase__Group_4_1__0__Impl rule__UseCase__Group_4_1__1 ;
    public final void rule__UseCase__Group_4_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2393:1: ( rule__UseCase__Group_4_1__0__Impl rule__UseCase__Group_4_1__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2394:2: rule__UseCase__Group_4_1__0__Impl rule__UseCase__Group_4_1__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group_4_1__0__Impl_in_rule__UseCase__Group_4_1__04928);
            rule__UseCase__Group_4_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group_4_1__1_in_rule__UseCase__Group_4_1__04931);
            rule__UseCase__Group_4_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_1__0"


    // $ANTLR start "rule__UseCase__Group_4_1__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2401:1: rule__UseCase__Group_4_1__0__Impl : ( 'Success guarantees:' ) ;
    public final void rule__UseCase__Group_4_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2405:1: ( ( 'Success guarantees:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2406:1: ( 'Success guarantees:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2406:1: ( 'Success guarantees:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2407:1: 'Success guarantees:'
            {
             before(grammarAccess.getUseCaseAccess().getSuccessGuaranteesKeyword_4_1_0()); 
            match(input,41,FOLLOW_41_in_rule__UseCase__Group_4_1__0__Impl4959); 
             after(grammarAccess.getUseCaseAccess().getSuccessGuaranteesKeyword_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_1__0__Impl"


    // $ANTLR start "rule__UseCase__Group_4_1__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2420:1: rule__UseCase__Group_4_1__1 : rule__UseCase__Group_4_1__1__Impl ;
    public final void rule__UseCase__Group_4_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2424:1: ( rule__UseCase__Group_4_1__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2425:2: rule__UseCase__Group_4_1__1__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group_4_1__1__Impl_in_rule__UseCase__Group_4_1__14990);
            rule__UseCase__Group_4_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_1__1"


    // $ANTLR start "rule__UseCase__Group_4_1__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2431:1: rule__UseCase__Group_4_1__1__Impl : ( ( ( rule__UseCase__PostconditionsAssignment_4_1_1 ) ) ( ( rule__UseCase__PostconditionsAssignment_4_1_1 )* ) ) ;
    public final void rule__UseCase__Group_4_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2435:1: ( ( ( ( rule__UseCase__PostconditionsAssignment_4_1_1 ) ) ( ( rule__UseCase__PostconditionsAssignment_4_1_1 )* ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2436:1: ( ( ( rule__UseCase__PostconditionsAssignment_4_1_1 ) ) ( ( rule__UseCase__PostconditionsAssignment_4_1_1 )* ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2436:1: ( ( ( rule__UseCase__PostconditionsAssignment_4_1_1 ) ) ( ( rule__UseCase__PostconditionsAssignment_4_1_1 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2437:1: ( ( rule__UseCase__PostconditionsAssignment_4_1_1 ) ) ( ( rule__UseCase__PostconditionsAssignment_4_1_1 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2437:1: ( ( rule__UseCase__PostconditionsAssignment_4_1_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2438:1: ( rule__UseCase__PostconditionsAssignment_4_1_1 )
            {
             before(grammarAccess.getUseCaseAccess().getPostconditionsAssignment_4_1_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2439:1: ( rule__UseCase__PostconditionsAssignment_4_1_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2439:2: rule__UseCase__PostconditionsAssignment_4_1_1
            {
            pushFollow(FOLLOW_rule__UseCase__PostconditionsAssignment_4_1_1_in_rule__UseCase__Group_4_1__1__Impl5019);
            rule__UseCase__PostconditionsAssignment_4_1_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getPostconditionsAssignment_4_1_1()); 

            }

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2442:1: ( ( rule__UseCase__PostconditionsAssignment_4_1_1 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2443:1: ( rule__UseCase__PostconditionsAssignment_4_1_1 )*
            {
             before(grammarAccess.getUseCaseAccess().getPostconditionsAssignment_4_1_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2444:1: ( rule__UseCase__PostconditionsAssignment_4_1_1 )*
            loop21:
            do {
                int alt21=2;
                int LA21_0 = input.LA(1);

                if ( (LA21_0==RULE_UPID) ) {
                    alt21=1;
                }


                switch (alt21) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2444:2: rule__UseCase__PostconditionsAssignment_4_1_1
            	    {
            	    pushFollow(FOLLOW_rule__UseCase__PostconditionsAssignment_4_1_1_in_rule__UseCase__Group_4_1__1__Impl5031);
            	    rule__UseCase__PostconditionsAssignment_4_1_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop21;
                }
            } while (true);

             after(grammarAccess.getUseCaseAccess().getPostconditionsAssignment_4_1_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_1__1__Impl"


    // $ANTLR start "rule__UseCase__Group_4_2__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2459:1: rule__UseCase__Group_4_2__0 : rule__UseCase__Group_4_2__0__Impl rule__UseCase__Group_4_2__1 ;
    public final void rule__UseCase__Group_4_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2463:1: ( rule__UseCase__Group_4_2__0__Impl rule__UseCase__Group_4_2__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2464:2: rule__UseCase__Group_4_2__0__Impl rule__UseCase__Group_4_2__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group_4_2__0__Impl_in_rule__UseCase__Group_4_2__05068);
            rule__UseCase__Group_4_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group_4_2__1_in_rule__UseCase__Group_4_2__05071);
            rule__UseCase__Group_4_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_2__0"


    // $ANTLR start "rule__UseCase__Group_4_2__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2471:1: rule__UseCase__Group_4_2__0__Impl : ( 'Minimal guarantees:' ) ;
    public final void rule__UseCase__Group_4_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2475:1: ( ( 'Minimal guarantees:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2476:1: ( 'Minimal guarantees:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2476:1: ( 'Minimal guarantees:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2477:1: 'Minimal guarantees:'
            {
             before(grammarAccess.getUseCaseAccess().getMinimalGuaranteesKeyword_4_2_0()); 
            match(input,42,FOLLOW_42_in_rule__UseCase__Group_4_2__0__Impl5099); 
             after(grammarAccess.getUseCaseAccess().getMinimalGuaranteesKeyword_4_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_2__0__Impl"


    // $ANTLR start "rule__UseCase__Group_4_2__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2490:1: rule__UseCase__Group_4_2__1 : rule__UseCase__Group_4_2__1__Impl ;
    public final void rule__UseCase__Group_4_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2494:1: ( rule__UseCase__Group_4_2__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2495:2: rule__UseCase__Group_4_2__1__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group_4_2__1__Impl_in_rule__UseCase__Group_4_2__15130);
            rule__UseCase__Group_4_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_2__1"


    // $ANTLR start "rule__UseCase__Group_4_2__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2501:1: rule__UseCase__Group_4_2__1__Impl : ( ( ( rule__UseCase__InvariantsAssignment_4_2_1 ) ) ( ( rule__UseCase__InvariantsAssignment_4_2_1 )* ) ) ;
    public final void rule__UseCase__Group_4_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2505:1: ( ( ( ( rule__UseCase__InvariantsAssignment_4_2_1 ) ) ( ( rule__UseCase__InvariantsAssignment_4_2_1 )* ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2506:1: ( ( ( rule__UseCase__InvariantsAssignment_4_2_1 ) ) ( ( rule__UseCase__InvariantsAssignment_4_2_1 )* ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2506:1: ( ( ( rule__UseCase__InvariantsAssignment_4_2_1 ) ) ( ( rule__UseCase__InvariantsAssignment_4_2_1 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2507:1: ( ( rule__UseCase__InvariantsAssignment_4_2_1 ) ) ( ( rule__UseCase__InvariantsAssignment_4_2_1 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2507:1: ( ( rule__UseCase__InvariantsAssignment_4_2_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2508:1: ( rule__UseCase__InvariantsAssignment_4_2_1 )
            {
             before(grammarAccess.getUseCaseAccess().getInvariantsAssignment_4_2_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2509:1: ( rule__UseCase__InvariantsAssignment_4_2_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2509:2: rule__UseCase__InvariantsAssignment_4_2_1
            {
            pushFollow(FOLLOW_rule__UseCase__InvariantsAssignment_4_2_1_in_rule__UseCase__Group_4_2__1__Impl5159);
            rule__UseCase__InvariantsAssignment_4_2_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getInvariantsAssignment_4_2_1()); 

            }

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2512:1: ( ( rule__UseCase__InvariantsAssignment_4_2_1 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2513:1: ( rule__UseCase__InvariantsAssignment_4_2_1 )*
            {
             before(grammarAccess.getUseCaseAccess().getInvariantsAssignment_4_2_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2514:1: ( rule__UseCase__InvariantsAssignment_4_2_1 )*
            loop22:
            do {
                int alt22=2;
                int LA22_0 = input.LA(1);

                if ( (LA22_0==RULE_UPID) ) {
                    alt22=1;
                }


                switch (alt22) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2514:2: rule__UseCase__InvariantsAssignment_4_2_1
            	    {
            	    pushFollow(FOLLOW_rule__UseCase__InvariantsAssignment_4_2_1_in_rule__UseCase__Group_4_2__1__Impl5171);
            	    rule__UseCase__InvariantsAssignment_4_2_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop22;
                }
            } while (true);

             after(grammarAccess.getUseCaseAccess().getInvariantsAssignment_4_2_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_2__1__Impl"


    // $ANTLR start "rule__UseCase__Group_4_3__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2529:1: rule__UseCase__Group_4_3__0 : rule__UseCase__Group_4_3__0__Impl rule__UseCase__Group_4_3__1 ;
    public final void rule__UseCase__Group_4_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2533:1: ( rule__UseCase__Group_4_3__0__Impl rule__UseCase__Group_4_3__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2534:2: rule__UseCase__Group_4_3__0__Impl rule__UseCase__Group_4_3__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group_4_3__0__Impl_in_rule__UseCase__Group_4_3__05208);
            rule__UseCase__Group_4_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group_4_3__1_in_rule__UseCase__Group_4_3__05211);
            rule__UseCase__Group_4_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_3__0"


    // $ANTLR start "rule__UseCase__Group_4_3__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2541:1: rule__UseCase__Group_4_3__0__Impl : ( 'Trigger:' ) ;
    public final void rule__UseCase__Group_4_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2545:1: ( ( 'Trigger:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2546:1: ( 'Trigger:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2546:1: ( 'Trigger:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2547:1: 'Trigger:'
            {
             before(grammarAccess.getUseCaseAccess().getTriggerKeyword_4_3_0()); 
            match(input,43,FOLLOW_43_in_rule__UseCase__Group_4_3__0__Impl5239); 
             after(grammarAccess.getUseCaseAccess().getTriggerKeyword_4_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_3__0__Impl"


    // $ANTLR start "rule__UseCase__Group_4_3__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2560:1: rule__UseCase__Group_4_3__1 : rule__UseCase__Group_4_3__1__Impl ;
    public final void rule__UseCase__Group_4_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2564:1: ( rule__UseCase__Group_4_3__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2565:2: rule__UseCase__Group_4_3__1__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group_4_3__1__Impl_in_rule__UseCase__Group_4_3__15270);
            rule__UseCase__Group_4_3__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_3__1"


    // $ANTLR start "rule__UseCase__Group_4_3__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2571:1: rule__UseCase__Group_4_3__1__Impl : ( ( rule__UseCase__TriggerAssignment_4_3_1 ) ) ;
    public final void rule__UseCase__Group_4_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2575:1: ( ( ( rule__UseCase__TriggerAssignment_4_3_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2576:1: ( ( rule__UseCase__TriggerAssignment_4_3_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2576:1: ( ( rule__UseCase__TriggerAssignment_4_3_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2577:1: ( rule__UseCase__TriggerAssignment_4_3_1 )
            {
             before(grammarAccess.getUseCaseAccess().getTriggerAssignment_4_3_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2578:1: ( rule__UseCase__TriggerAssignment_4_3_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2578:2: rule__UseCase__TriggerAssignment_4_3_1
            {
            pushFollow(FOLLOW_rule__UseCase__TriggerAssignment_4_3_1_in_rule__UseCase__Group_4_3__1__Impl5297);
            rule__UseCase__TriggerAssignment_4_3_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getTriggerAssignment_4_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_4_3__1__Impl"


    // $ANTLR start "rule__UseCase__Group_7__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2592:1: rule__UseCase__Group_7__0 : rule__UseCase__Group_7__0__Impl rule__UseCase__Group_7__1 ;
    public final void rule__UseCase__Group_7__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2596:1: ( rule__UseCase__Group_7__0__Impl rule__UseCase__Group_7__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2597:2: rule__UseCase__Group_7__0__Impl rule__UseCase__Group_7__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group_7__0__Impl_in_rule__UseCase__Group_7__05331);
            rule__UseCase__Group_7__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group_7__1_in_rule__UseCase__Group_7__05334);
            rule__UseCase__Group_7__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_7__0"


    // $ANTLR start "rule__UseCase__Group_7__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2604:1: rule__UseCase__Group_7__0__Impl : ( 'Extensions:' ) ;
    public final void rule__UseCase__Group_7__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2608:1: ( ( 'Extensions:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2609:1: ( 'Extensions:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2609:1: ( 'Extensions:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2610:1: 'Extensions:'
            {
             before(grammarAccess.getUseCaseAccess().getExtensionsKeyword_7_0()); 
            match(input,44,FOLLOW_44_in_rule__UseCase__Group_7__0__Impl5362); 
             after(grammarAccess.getUseCaseAccess().getExtensionsKeyword_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_7__0__Impl"


    // $ANTLR start "rule__UseCase__Group_7__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2623:1: rule__UseCase__Group_7__1 : rule__UseCase__Group_7__1__Impl ;
    public final void rule__UseCase__Group_7__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2627:1: ( rule__UseCase__Group_7__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2628:2: rule__UseCase__Group_7__1__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group_7__1__Impl_in_rule__UseCase__Group_7__15393);
            rule__UseCase__Group_7__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_7__1"


    // $ANTLR start "rule__UseCase__Group_7__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2634:1: rule__UseCase__Group_7__1__Impl : ( ( ( rule__UseCase__ExtensionsAssignment_7_1 ) ) ( ( rule__UseCase__ExtensionsAssignment_7_1 )* ) ) ;
    public final void rule__UseCase__Group_7__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2638:1: ( ( ( ( rule__UseCase__ExtensionsAssignment_7_1 ) ) ( ( rule__UseCase__ExtensionsAssignment_7_1 )* ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2639:1: ( ( ( rule__UseCase__ExtensionsAssignment_7_1 ) ) ( ( rule__UseCase__ExtensionsAssignment_7_1 )* ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2639:1: ( ( ( rule__UseCase__ExtensionsAssignment_7_1 ) ) ( ( rule__UseCase__ExtensionsAssignment_7_1 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2640:1: ( ( rule__UseCase__ExtensionsAssignment_7_1 ) ) ( ( rule__UseCase__ExtensionsAssignment_7_1 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2640:1: ( ( rule__UseCase__ExtensionsAssignment_7_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2641:1: ( rule__UseCase__ExtensionsAssignment_7_1 )
            {
             before(grammarAccess.getUseCaseAccess().getExtensionsAssignment_7_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2642:1: ( rule__UseCase__ExtensionsAssignment_7_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2642:2: rule__UseCase__ExtensionsAssignment_7_1
            {
            pushFollow(FOLLOW_rule__UseCase__ExtensionsAssignment_7_1_in_rule__UseCase__Group_7__1__Impl5422);
            rule__UseCase__ExtensionsAssignment_7_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getExtensionsAssignment_7_1()); 

            }

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2645:1: ( ( rule__UseCase__ExtensionsAssignment_7_1 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2646:1: ( rule__UseCase__ExtensionsAssignment_7_1 )*
            {
             before(grammarAccess.getUseCaseAccess().getExtensionsAssignment_7_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2647:1: ( rule__UseCase__ExtensionsAssignment_7_1 )*
            loop23:
            do {
                int alt23=2;
                int LA23_0 = input.LA(1);

                if ( (LA23_0==RULE_INT||LA23_0==54) ) {
                    alt23=1;
                }


                switch (alt23) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2647:2: rule__UseCase__ExtensionsAssignment_7_1
            	    {
            	    pushFollow(FOLLOW_rule__UseCase__ExtensionsAssignment_7_1_in_rule__UseCase__Group_7__1__Impl5434);
            	    rule__UseCase__ExtensionsAssignment_7_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop23;
                }
            } while (true);

             after(grammarAccess.getUseCaseAccess().getExtensionsAssignment_7_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_7__1__Impl"


    // $ANTLR start "rule__UseCase__Group_8__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2662:1: rule__UseCase__Group_8__0 : rule__UseCase__Group_8__0__Impl rule__UseCase__Group_8__1 ;
    public final void rule__UseCase__Group_8__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2666:1: ( rule__UseCase__Group_8__0__Impl rule__UseCase__Group_8__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2667:2: rule__UseCase__Group_8__0__Impl rule__UseCase__Group_8__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group_8__0__Impl_in_rule__UseCase__Group_8__05471);
            rule__UseCase__Group_8__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group_8__1_in_rule__UseCase__Group_8__05474);
            rule__UseCase__Group_8__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_8__0"


    // $ANTLR start "rule__UseCase__Group_8__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2674:1: rule__UseCase__Group_8__0__Impl : ( 'Technology and data variants:' ) ;
    public final void rule__UseCase__Group_8__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2678:1: ( ( 'Technology and data variants:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2679:1: ( 'Technology and data variants:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2679:1: ( 'Technology and data variants:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2680:1: 'Technology and data variants:'
            {
             before(grammarAccess.getUseCaseAccess().getTechnologyAndDataVariantsKeyword_8_0()); 
            match(input,45,FOLLOW_45_in_rule__UseCase__Group_8__0__Impl5502); 
             after(grammarAccess.getUseCaseAccess().getTechnologyAndDataVariantsKeyword_8_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_8__0__Impl"


    // $ANTLR start "rule__UseCase__Group_8__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2693:1: rule__UseCase__Group_8__1 : rule__UseCase__Group_8__1__Impl ;
    public final void rule__UseCase__Group_8__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2697:1: ( rule__UseCase__Group_8__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2698:2: rule__UseCase__Group_8__1__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group_8__1__Impl_in_rule__UseCase__Group_8__15533);
            rule__UseCase__Group_8__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_8__1"


    // $ANTLR start "rule__UseCase__Group_8__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2704:1: rule__UseCase__Group_8__1__Impl : ( ( ( rule__UseCase__VariantsAssignment_8_1 ) ) ( ( rule__UseCase__VariantsAssignment_8_1 )* ) ) ;
    public final void rule__UseCase__Group_8__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2708:1: ( ( ( ( rule__UseCase__VariantsAssignment_8_1 ) ) ( ( rule__UseCase__VariantsAssignment_8_1 )* ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2709:1: ( ( ( rule__UseCase__VariantsAssignment_8_1 ) ) ( ( rule__UseCase__VariantsAssignment_8_1 )* ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2709:1: ( ( ( rule__UseCase__VariantsAssignment_8_1 ) ) ( ( rule__UseCase__VariantsAssignment_8_1 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2710:1: ( ( rule__UseCase__VariantsAssignment_8_1 ) ) ( ( rule__UseCase__VariantsAssignment_8_1 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2710:1: ( ( rule__UseCase__VariantsAssignment_8_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2711:1: ( rule__UseCase__VariantsAssignment_8_1 )
            {
             before(grammarAccess.getUseCaseAccess().getVariantsAssignment_8_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2712:1: ( rule__UseCase__VariantsAssignment_8_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2712:2: rule__UseCase__VariantsAssignment_8_1
            {
            pushFollow(FOLLOW_rule__UseCase__VariantsAssignment_8_1_in_rule__UseCase__Group_8__1__Impl5562);
            rule__UseCase__VariantsAssignment_8_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getVariantsAssignment_8_1()); 

            }

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2715:1: ( ( rule__UseCase__VariantsAssignment_8_1 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2716:1: ( rule__UseCase__VariantsAssignment_8_1 )*
            {
             before(grammarAccess.getUseCaseAccess().getVariantsAssignment_8_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2717:1: ( rule__UseCase__VariantsAssignment_8_1 )*
            loop24:
            do {
                int alt24=2;
                int LA24_0 = input.LA(1);

                if ( (LA24_0==RULE_INT||LA24_0==54) ) {
                    alt24=1;
                }


                switch (alt24) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2717:2: rule__UseCase__VariantsAssignment_8_1
            	    {
            	    pushFollow(FOLLOW_rule__UseCase__VariantsAssignment_8_1_in_rule__UseCase__Group_8__1__Impl5574);
            	    rule__UseCase__VariantsAssignment_8_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop24;
                }
            } while (true);

             after(grammarAccess.getUseCaseAccess().getVariantsAssignment_8_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_8__1__Impl"


    // $ANTLR start "rule__UseCase__Group_9__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2732:1: rule__UseCase__Group_9__0 : rule__UseCase__Group_9__0__Impl rule__UseCase__Group_9__1 ;
    public final void rule__UseCase__Group_9__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2736:1: ( rule__UseCase__Group_9__0__Impl rule__UseCase__Group_9__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2737:2: rule__UseCase__Group_9__0__Impl rule__UseCase__Group_9__1
            {
            pushFollow(FOLLOW_rule__UseCase__Group_9__0__Impl_in_rule__UseCase__Group_9__05611);
            rule__UseCase__Group_9__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UseCase__Group_9__1_in_rule__UseCase__Group_9__05614);
            rule__UseCase__Group_9__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_9__0"


    // $ANTLR start "rule__UseCase__Group_9__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2744:1: rule__UseCase__Group_9__0__Impl : ( 'Open issues:' ) ;
    public final void rule__UseCase__Group_9__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2748:1: ( ( 'Open issues:' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2749:1: ( 'Open issues:' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2749:1: ( 'Open issues:' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2750:1: 'Open issues:'
            {
             before(grammarAccess.getUseCaseAccess().getOpenIssuesKeyword_9_0()); 
            match(input,46,FOLLOW_46_in_rule__UseCase__Group_9__0__Impl5642); 
             after(grammarAccess.getUseCaseAccess().getOpenIssuesKeyword_9_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_9__0__Impl"


    // $ANTLR start "rule__UseCase__Group_9__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2763:1: rule__UseCase__Group_9__1 : rule__UseCase__Group_9__1__Impl ;
    public final void rule__UseCase__Group_9__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2767:1: ( rule__UseCase__Group_9__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2768:2: rule__UseCase__Group_9__1__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__Group_9__1__Impl_in_rule__UseCase__Group_9__15673);
            rule__UseCase__Group_9__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_9__1"


    // $ANTLR start "rule__UseCase__Group_9__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2774:1: rule__UseCase__Group_9__1__Impl : ( ( ( rule__UseCase__IssuesAssignment_9_1 ) ) ( ( rule__UseCase__IssuesAssignment_9_1 )* ) ) ;
    public final void rule__UseCase__Group_9__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2778:1: ( ( ( ( rule__UseCase__IssuesAssignment_9_1 ) ) ( ( rule__UseCase__IssuesAssignment_9_1 )* ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2779:1: ( ( ( rule__UseCase__IssuesAssignment_9_1 ) ) ( ( rule__UseCase__IssuesAssignment_9_1 )* ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2779:1: ( ( ( rule__UseCase__IssuesAssignment_9_1 ) ) ( ( rule__UseCase__IssuesAssignment_9_1 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2780:1: ( ( rule__UseCase__IssuesAssignment_9_1 ) ) ( ( rule__UseCase__IssuesAssignment_9_1 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2780:1: ( ( rule__UseCase__IssuesAssignment_9_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2781:1: ( rule__UseCase__IssuesAssignment_9_1 )
            {
             before(grammarAccess.getUseCaseAccess().getIssuesAssignment_9_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2782:1: ( rule__UseCase__IssuesAssignment_9_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2782:2: rule__UseCase__IssuesAssignment_9_1
            {
            pushFollow(FOLLOW_rule__UseCase__IssuesAssignment_9_1_in_rule__UseCase__Group_9__1__Impl5702);
            rule__UseCase__IssuesAssignment_9_1();

            state._fsp--;


            }

             after(grammarAccess.getUseCaseAccess().getIssuesAssignment_9_1()); 

            }

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2785:1: ( ( rule__UseCase__IssuesAssignment_9_1 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2786:1: ( rule__UseCase__IssuesAssignment_9_1 )*
            {
             before(grammarAccess.getUseCaseAccess().getIssuesAssignment_9_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2787:1: ( rule__UseCase__IssuesAssignment_9_1 )*
            loop25:
            do {
                int alt25=2;
                int LA25_0 = input.LA(1);

                if ( (LA25_0==RULE_UPID) ) {
                    alt25=1;
                }


                switch (alt25) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2787:2: rule__UseCase__IssuesAssignment_9_1
            	    {
            	    pushFollow(FOLLOW_rule__UseCase__IssuesAssignment_9_1_in_rule__UseCase__Group_9__1__Impl5714);
            	    rule__UseCase__IssuesAssignment_9_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop25;
                }
            } while (true);

             after(grammarAccess.getUseCaseAccess().getIssuesAssignment_9_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__Group_9__1__Impl"


    // $ANTLR start "rule__Scope__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2802:1: rule__Scope__Group__0 : rule__Scope__Group__0__Impl rule__Scope__Group__1 ;
    public final void rule__Scope__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2806:1: ( rule__Scope__Group__0__Impl rule__Scope__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2807:2: rule__Scope__Group__0__Impl rule__Scope__Group__1
            {
            pushFollow(FOLLOW_rule__Scope__Group__0__Impl_in_rule__Scope__Group__05751);
            rule__Scope__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Scope__Group__1_in_rule__Scope__Group__05754);
            rule__Scope__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scope__Group__0"


    // $ANTLR start "rule__Scope__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2814:1: rule__Scope__Group__0__Impl : ( ( rule__Scope__VisibilityAssignment_0 )? ) ;
    public final void rule__Scope__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2818:1: ( ( ( rule__Scope__VisibilityAssignment_0 )? ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2819:1: ( ( rule__Scope__VisibilityAssignment_0 )? )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2819:1: ( ( rule__Scope__VisibilityAssignment_0 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2820:1: ( rule__Scope__VisibilityAssignment_0 )?
            {
             before(grammarAccess.getScopeAccess().getVisibilityAssignment_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2821:1: ( rule__Scope__VisibilityAssignment_0 )?
            int alt26=2;
            int LA26_0 = input.LA(1);

            if ( ((LA26_0>=22 && LA26_0<=23)) ) {
                alt26=1;
            }
            switch (alt26) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2821:2: rule__Scope__VisibilityAssignment_0
                    {
                    pushFollow(FOLLOW_rule__Scope__VisibilityAssignment_0_in_rule__Scope__Group__0__Impl5781);
                    rule__Scope__VisibilityAssignment_0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getScopeAccess().getVisibilityAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scope__Group__0__Impl"


    // $ANTLR start "rule__Scope__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2831:1: rule__Scope__Group__1 : rule__Scope__Group__1__Impl rule__Scope__Group__2 ;
    public final void rule__Scope__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2835:1: ( rule__Scope__Group__1__Impl rule__Scope__Group__2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2836:2: rule__Scope__Group__1__Impl rule__Scope__Group__2
            {
            pushFollow(FOLLOW_rule__Scope__Group__1__Impl_in_rule__Scope__Group__15812);
            rule__Scope__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Scope__Group__2_in_rule__Scope__Group__15815);
            rule__Scope__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scope__Group__1"


    // $ANTLR start "rule__Scope__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2843:1: rule__Scope__Group__1__Impl : ( ( rule__Scope__TypeAssignment_1 )? ) ;
    public final void rule__Scope__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2847:1: ( ( ( rule__Scope__TypeAssignment_1 )? ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2848:1: ( ( rule__Scope__TypeAssignment_1 )? )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2848:1: ( ( rule__Scope__TypeAssignment_1 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2849:1: ( rule__Scope__TypeAssignment_1 )?
            {
             before(grammarAccess.getScopeAccess().getTypeAssignment_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2850:1: ( rule__Scope__TypeAssignment_1 )?
            int alt27=2;
            int LA27_0 = input.LA(1);

            if ( ((LA27_0>=19 && LA27_0<=21)) ) {
                alt27=1;
            }
            switch (alt27) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2850:2: rule__Scope__TypeAssignment_1
                    {
                    pushFollow(FOLLOW_rule__Scope__TypeAssignment_1_in_rule__Scope__Group__1__Impl5842);
                    rule__Scope__TypeAssignment_1();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getScopeAccess().getTypeAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scope__Group__1__Impl"


    // $ANTLR start "rule__Scope__Group__2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2860:1: rule__Scope__Group__2 : rule__Scope__Group__2__Impl ;
    public final void rule__Scope__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2864:1: ( rule__Scope__Group__2__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2865:2: rule__Scope__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Scope__Group__2__Impl_in_rule__Scope__Group__25873);
            rule__Scope__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scope__Group__2"


    // $ANTLR start "rule__Scope__Group__2__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2871:1: rule__Scope__Group__2__Impl : ( ( rule__Scope__InternalActorAssignment_2 ) ) ;
    public final void rule__Scope__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2875:1: ( ( ( rule__Scope__InternalActorAssignment_2 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2876:1: ( ( rule__Scope__InternalActorAssignment_2 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2876:1: ( ( rule__Scope__InternalActorAssignment_2 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2877:1: ( rule__Scope__InternalActorAssignment_2 )
            {
             before(grammarAccess.getScopeAccess().getInternalActorAssignment_2()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2878:1: ( rule__Scope__InternalActorAssignment_2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2878:2: rule__Scope__InternalActorAssignment_2
            {
            pushFollow(FOLLOW_rule__Scope__InternalActorAssignment_2_in_rule__Scope__Group__2__Impl5900);
            rule__Scope__InternalActorAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getScopeAccess().getInternalActorAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scope__Group__2__Impl"


    // $ANTLR start "rule__Actor__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2894:1: rule__Actor__Group__0 : rule__Actor__Group__0__Impl rule__Actor__Group__1 ;
    public final void rule__Actor__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2898:1: ( rule__Actor__Group__0__Impl rule__Actor__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2899:2: rule__Actor__Group__0__Impl rule__Actor__Group__1
            {
            pushFollow(FOLLOW_rule__Actor__Group__0__Impl_in_rule__Actor__Group__05936);
            rule__Actor__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Actor__Group__1_in_rule__Actor__Group__05939);
            rule__Actor__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Actor__Group__0"


    // $ANTLR start "rule__Actor__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2906:1: rule__Actor__Group__0__Impl : ( ( rule__Actor__NameAssignment_0 ) ) ;
    public final void rule__Actor__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2910:1: ( ( ( rule__Actor__NameAssignment_0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2911:1: ( ( rule__Actor__NameAssignment_0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2911:1: ( ( rule__Actor__NameAssignment_0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2912:1: ( rule__Actor__NameAssignment_0 )
            {
             before(grammarAccess.getActorAccess().getNameAssignment_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2913:1: ( rule__Actor__NameAssignment_0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2913:2: rule__Actor__NameAssignment_0
            {
            pushFollow(FOLLOW_rule__Actor__NameAssignment_0_in_rule__Actor__Group__0__Impl5966);
            rule__Actor__NameAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getActorAccess().getNameAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Actor__Group__0__Impl"


    // $ANTLR start "rule__Actor__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2923:1: rule__Actor__Group__1 : rule__Actor__Group__1__Impl ;
    public final void rule__Actor__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2927:1: ( rule__Actor__Group__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2928:2: rule__Actor__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Actor__Group__1__Impl_in_rule__Actor__Group__15996);
            rule__Actor__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Actor__Group__1"


    // $ANTLR start "rule__Actor__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2934:1: rule__Actor__Group__1__Impl : ( ( rule__Actor__Group_1__0 )? ) ;
    public final void rule__Actor__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2938:1: ( ( ( rule__Actor__Group_1__0 )? ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2939:1: ( ( rule__Actor__Group_1__0 )? )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2939:1: ( ( rule__Actor__Group_1__0 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2940:1: ( rule__Actor__Group_1__0 )?
            {
             before(grammarAccess.getActorAccess().getGroup_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2941:1: ( rule__Actor__Group_1__0 )?
            int alt28=2;
            int LA28_0 = input.LA(1);

            if ( (LA28_0==30) ) {
                alt28=1;
            }
            switch (alt28) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2941:2: rule__Actor__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Actor__Group_1__0_in_rule__Actor__Group__1__Impl6023);
                    rule__Actor__Group_1__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getActorAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Actor__Group__1__Impl"


    // $ANTLR start "rule__Actor__Group_1__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2955:1: rule__Actor__Group_1__0 : rule__Actor__Group_1__0__Impl rule__Actor__Group_1__1 ;
    public final void rule__Actor__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2959:1: ( rule__Actor__Group_1__0__Impl rule__Actor__Group_1__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2960:2: rule__Actor__Group_1__0__Impl rule__Actor__Group_1__1
            {
            pushFollow(FOLLOW_rule__Actor__Group_1__0__Impl_in_rule__Actor__Group_1__06058);
            rule__Actor__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Actor__Group_1__1_in_rule__Actor__Group_1__06061);
            rule__Actor__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Actor__Group_1__0"


    // $ANTLR start "rule__Actor__Group_1__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2967:1: rule__Actor__Group_1__0__Impl : ( ':' ) ;
    public final void rule__Actor__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2971:1: ( ( ':' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2972:1: ( ':' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2972:1: ( ':' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2973:1: ':'
            {
             before(grammarAccess.getActorAccess().getColonKeyword_1_0()); 
            match(input,30,FOLLOW_30_in_rule__Actor__Group_1__0__Impl6089); 
             after(grammarAccess.getActorAccess().getColonKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Actor__Group_1__0__Impl"


    // $ANTLR start "rule__Actor__Group_1__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2986:1: rule__Actor__Group_1__1 : rule__Actor__Group_1__1__Impl ;
    public final void rule__Actor__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2990:1: ( rule__Actor__Group_1__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2991:2: rule__Actor__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Actor__Group_1__1__Impl_in_rule__Actor__Group_1__16120);
            rule__Actor__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Actor__Group_1__1"


    // $ANTLR start "rule__Actor__Group_1__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:2997:1: rule__Actor__Group_1__1__Impl : ( ( rule__Actor__DescriptionAssignment_1_1 ) ) ;
    public final void rule__Actor__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3001:1: ( ( ( rule__Actor__DescriptionAssignment_1_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3002:1: ( ( rule__Actor__DescriptionAssignment_1_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3002:1: ( ( rule__Actor__DescriptionAssignment_1_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3003:1: ( rule__Actor__DescriptionAssignment_1_1 )
            {
             before(grammarAccess.getActorAccess().getDescriptionAssignment_1_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3004:1: ( rule__Actor__DescriptionAssignment_1_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3004:2: rule__Actor__DescriptionAssignment_1_1
            {
            pushFollow(FOLLOW_rule__Actor__DescriptionAssignment_1_1_in_rule__Actor__Group_1__1__Impl6147);
            rule__Actor__DescriptionAssignment_1_1();

            state._fsp--;


            }

             after(grammarAccess.getActorAccess().getDescriptionAssignment_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Actor__Group_1__1__Impl"


    // $ANTLR start "rule__Interest__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3018:1: rule__Interest__Group__0 : rule__Interest__Group__0__Impl rule__Interest__Group__1 ;
    public final void rule__Interest__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3022:1: ( rule__Interest__Group__0__Impl rule__Interest__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3023:2: rule__Interest__Group__0__Impl rule__Interest__Group__1
            {
            pushFollow(FOLLOW_rule__Interest__Group__0__Impl_in_rule__Interest__Group__06181);
            rule__Interest__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Interest__Group__1_in_rule__Interest__Group__06184);
            rule__Interest__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interest__Group__0"


    // $ANTLR start "rule__Interest__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3030:1: rule__Interest__Group__0__Impl : ( ( rule__Interest__StakeholderAssignment_0 ) ) ;
    public final void rule__Interest__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3034:1: ( ( ( rule__Interest__StakeholderAssignment_0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3035:1: ( ( rule__Interest__StakeholderAssignment_0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3035:1: ( ( rule__Interest__StakeholderAssignment_0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3036:1: ( rule__Interest__StakeholderAssignment_0 )
            {
             before(grammarAccess.getInterestAccess().getStakeholderAssignment_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3037:1: ( rule__Interest__StakeholderAssignment_0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3037:2: rule__Interest__StakeholderAssignment_0
            {
            pushFollow(FOLLOW_rule__Interest__StakeholderAssignment_0_in_rule__Interest__Group__0__Impl6211);
            rule__Interest__StakeholderAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getInterestAccess().getStakeholderAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interest__Group__0__Impl"


    // $ANTLR start "rule__Interest__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3047:1: rule__Interest__Group__1 : rule__Interest__Group__1__Impl rule__Interest__Group__2 ;
    public final void rule__Interest__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3051:1: ( rule__Interest__Group__1__Impl rule__Interest__Group__2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3052:2: rule__Interest__Group__1__Impl rule__Interest__Group__2
            {
            pushFollow(FOLLOW_rule__Interest__Group__1__Impl_in_rule__Interest__Group__16241);
            rule__Interest__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Interest__Group__2_in_rule__Interest__Group__16244);
            rule__Interest__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interest__Group__1"


    // $ANTLR start "rule__Interest__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3059:1: rule__Interest__Group__1__Impl : ( ':' ) ;
    public final void rule__Interest__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3063:1: ( ( ':' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3064:1: ( ':' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3064:1: ( ':' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3065:1: ':'
            {
             before(grammarAccess.getInterestAccess().getColonKeyword_1()); 
            match(input,30,FOLLOW_30_in_rule__Interest__Group__1__Impl6272); 
             after(grammarAccess.getInterestAccess().getColonKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interest__Group__1__Impl"


    // $ANTLR start "rule__Interest__Group__2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3078:1: rule__Interest__Group__2 : rule__Interest__Group__2__Impl ;
    public final void rule__Interest__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3082:1: ( rule__Interest__Group__2__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3083:2: rule__Interest__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Interest__Group__2__Impl_in_rule__Interest__Group__26303);
            rule__Interest__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interest__Group__2"


    // $ANTLR start "rule__Interest__Group__2__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3089:1: rule__Interest__Group__2__Impl : ( ( rule__Interest__DescriptionAssignment_2 ) ) ;
    public final void rule__Interest__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3093:1: ( ( ( rule__Interest__DescriptionAssignment_2 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3094:1: ( ( rule__Interest__DescriptionAssignment_2 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3094:1: ( ( rule__Interest__DescriptionAssignment_2 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3095:1: ( rule__Interest__DescriptionAssignment_2 )
            {
             before(grammarAccess.getInterestAccess().getDescriptionAssignment_2()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3096:1: ( rule__Interest__DescriptionAssignment_2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3096:2: rule__Interest__DescriptionAssignment_2
            {
            pushFollow(FOLLOW_rule__Interest__DescriptionAssignment_2_in_rule__Interest__Group__2__Impl6330);
            rule__Interest__DescriptionAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getInterestAccess().getDescriptionAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interest__Group__2__Impl"


    // $ANTLR start "rule__Condition__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3112:1: rule__Condition__Group__0 : rule__Condition__Group__0__Impl rule__Condition__Group__1 ;
    public final void rule__Condition__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3116:1: ( rule__Condition__Group__0__Impl rule__Condition__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3117:2: rule__Condition__Group__0__Impl rule__Condition__Group__1
            {
            pushFollow(FOLLOW_rule__Condition__Group__0__Impl_in_rule__Condition__Group__06366);
            rule__Condition__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Condition__Group__1_in_rule__Condition__Group__06369);
            rule__Condition__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Condition__Group__0"


    // $ANTLR start "rule__Condition__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3124:1: rule__Condition__Group__0__Impl : ( ( rule__Condition__ActorAssignment_0 ) ) ;
    public final void rule__Condition__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3128:1: ( ( ( rule__Condition__ActorAssignment_0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3129:1: ( ( rule__Condition__ActorAssignment_0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3129:1: ( ( rule__Condition__ActorAssignment_0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3130:1: ( rule__Condition__ActorAssignment_0 )
            {
             before(grammarAccess.getConditionAccess().getActorAssignment_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3131:1: ( rule__Condition__ActorAssignment_0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3131:2: rule__Condition__ActorAssignment_0
            {
            pushFollow(FOLLOW_rule__Condition__ActorAssignment_0_in_rule__Condition__Group__0__Impl6396);
            rule__Condition__ActorAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getConditionAccess().getActorAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Condition__Group__0__Impl"


    // $ANTLR start "rule__Condition__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3141:1: rule__Condition__Group__1 : rule__Condition__Group__1__Impl rule__Condition__Group__2 ;
    public final void rule__Condition__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3145:1: ( rule__Condition__Group__1__Impl rule__Condition__Group__2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3146:2: rule__Condition__Group__1__Impl rule__Condition__Group__2
            {
            pushFollow(FOLLOW_rule__Condition__Group__1__Impl_in_rule__Condition__Group__16426);
            rule__Condition__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Condition__Group__2_in_rule__Condition__Group__16429);
            rule__Condition__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Condition__Group__1"


    // $ANTLR start "rule__Condition__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3153:1: rule__Condition__Group__1__Impl : ( '-' ) ;
    public final void rule__Condition__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3157:1: ( ( '-' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3158:1: ( '-' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3158:1: ( '-' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3159:1: '-'
            {
             before(grammarAccess.getConditionAccess().getHyphenMinusKeyword_1()); 
            match(input,47,FOLLOW_47_in_rule__Condition__Group__1__Impl6457); 
             after(grammarAccess.getConditionAccess().getHyphenMinusKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Condition__Group__1__Impl"


    // $ANTLR start "rule__Condition__Group__2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3172:1: rule__Condition__Group__2 : rule__Condition__Group__2__Impl ;
    public final void rule__Condition__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3176:1: ( rule__Condition__Group__2__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3177:2: rule__Condition__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Condition__Group__2__Impl_in_rule__Condition__Group__26488);
            rule__Condition__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Condition__Group__2"


    // $ANTLR start "rule__Condition__Group__2__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3183:1: rule__Condition__Group__2__Impl : ( ( rule__Condition__DescriptionAssignment_2 ) ) ;
    public final void rule__Condition__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3187:1: ( ( ( rule__Condition__DescriptionAssignment_2 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3188:1: ( ( rule__Condition__DescriptionAssignment_2 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3188:1: ( ( rule__Condition__DescriptionAssignment_2 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3189:1: ( rule__Condition__DescriptionAssignment_2 )
            {
             before(grammarAccess.getConditionAccess().getDescriptionAssignment_2()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3190:1: ( rule__Condition__DescriptionAssignment_2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3190:2: rule__Condition__DescriptionAssignment_2
            {
            pushFollow(FOLLOW_rule__Condition__DescriptionAssignment_2_in_rule__Condition__Group__2__Impl6515);
            rule__Condition__DescriptionAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getConditionAccess().getDescriptionAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Condition__Group__2__Impl"


    // $ANTLR start "rule__Trigger__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3206:1: rule__Trigger__Group__0 : rule__Trigger__Group__0__Impl rule__Trigger__Group__1 ;
    public final void rule__Trigger__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3210:1: ( rule__Trigger__Group__0__Impl rule__Trigger__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3211:2: rule__Trigger__Group__0__Impl rule__Trigger__Group__1
            {
            pushFollow(FOLLOW_rule__Trigger__Group__0__Impl_in_rule__Trigger__Group__06551);
            rule__Trigger__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Trigger__Group__1_in_rule__Trigger__Group__06554);
            rule__Trigger__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Trigger__Group__0"


    // $ANTLR start "rule__Trigger__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3218:1: rule__Trigger__Group__0__Impl : ( ( rule__Trigger__ActorAssignment_0 ) ) ;
    public final void rule__Trigger__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3222:1: ( ( ( rule__Trigger__ActorAssignment_0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3223:1: ( ( rule__Trigger__ActorAssignment_0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3223:1: ( ( rule__Trigger__ActorAssignment_0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3224:1: ( rule__Trigger__ActorAssignment_0 )
            {
             before(grammarAccess.getTriggerAccess().getActorAssignment_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3225:1: ( rule__Trigger__ActorAssignment_0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3225:2: rule__Trigger__ActorAssignment_0
            {
            pushFollow(FOLLOW_rule__Trigger__ActorAssignment_0_in_rule__Trigger__Group__0__Impl6581);
            rule__Trigger__ActorAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getTriggerAccess().getActorAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Trigger__Group__0__Impl"


    // $ANTLR start "rule__Trigger__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3235:1: rule__Trigger__Group__1 : rule__Trigger__Group__1__Impl rule__Trigger__Group__2 ;
    public final void rule__Trigger__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3239:1: ( rule__Trigger__Group__1__Impl rule__Trigger__Group__2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3240:2: rule__Trigger__Group__1__Impl rule__Trigger__Group__2
            {
            pushFollow(FOLLOW_rule__Trigger__Group__1__Impl_in_rule__Trigger__Group__16611);
            rule__Trigger__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Trigger__Group__2_in_rule__Trigger__Group__16614);
            rule__Trigger__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Trigger__Group__1"


    // $ANTLR start "rule__Trigger__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3247:1: rule__Trigger__Group__1__Impl : ( '-' ) ;
    public final void rule__Trigger__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3251:1: ( ( '-' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3252:1: ( '-' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3252:1: ( '-' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3253:1: '-'
            {
             before(grammarAccess.getTriggerAccess().getHyphenMinusKeyword_1()); 
            match(input,47,FOLLOW_47_in_rule__Trigger__Group__1__Impl6642); 
             after(grammarAccess.getTriggerAccess().getHyphenMinusKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Trigger__Group__1__Impl"


    // $ANTLR start "rule__Trigger__Group__2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3266:1: rule__Trigger__Group__2 : rule__Trigger__Group__2__Impl ;
    public final void rule__Trigger__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3270:1: ( rule__Trigger__Group__2__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3271:2: rule__Trigger__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Trigger__Group__2__Impl_in_rule__Trigger__Group__26673);
            rule__Trigger__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Trigger__Group__2"


    // $ANTLR start "rule__Trigger__Group__2__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3277:1: rule__Trigger__Group__2__Impl : ( ( rule__Trigger__ActionAssignment_2 ) ) ;
    public final void rule__Trigger__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3281:1: ( ( ( rule__Trigger__ActionAssignment_2 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3282:1: ( ( rule__Trigger__ActionAssignment_2 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3282:1: ( ( rule__Trigger__ActionAssignment_2 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3283:1: ( rule__Trigger__ActionAssignment_2 )
            {
             before(grammarAccess.getTriggerAccess().getActionAssignment_2()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3284:1: ( rule__Trigger__ActionAssignment_2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3284:2: rule__Trigger__ActionAssignment_2
            {
            pushFollow(FOLLOW_rule__Trigger__ActionAssignment_2_in_rule__Trigger__Group__2__Impl6700);
            rule__Trigger__ActionAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getTriggerAccess().getActionAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Trigger__Group__2__Impl"


    // $ANTLR start "rule__ActionStep__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3300:1: rule__ActionStep__Group__0 : rule__ActionStep__Group__0__Impl rule__ActionStep__Group__1 ;
    public final void rule__ActionStep__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3304:1: ( rule__ActionStep__Group__0__Impl rule__ActionStep__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3305:2: rule__ActionStep__Group__0__Impl rule__ActionStep__Group__1
            {
            pushFollow(FOLLOW_rule__ActionStep__Group__0__Impl_in_rule__ActionStep__Group__06736);
            rule__ActionStep__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ActionStep__Group__1_in_rule__ActionStep__Group__06739);
            rule__ActionStep__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ActionStep__Group__0"


    // $ANTLR start "rule__ActionStep__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3312:1: rule__ActionStep__Group__0__Impl : ( ( rule__ActionStep__NameAssignment_0 ) ) ;
    public final void rule__ActionStep__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3316:1: ( ( ( rule__ActionStep__NameAssignment_0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3317:1: ( ( rule__ActionStep__NameAssignment_0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3317:1: ( ( rule__ActionStep__NameAssignment_0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3318:1: ( rule__ActionStep__NameAssignment_0 )
            {
             before(grammarAccess.getActionStepAccess().getNameAssignment_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3319:1: ( rule__ActionStep__NameAssignment_0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3319:2: rule__ActionStep__NameAssignment_0
            {
            pushFollow(FOLLOW_rule__ActionStep__NameAssignment_0_in_rule__ActionStep__Group__0__Impl6766);
            rule__ActionStep__NameAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getActionStepAccess().getNameAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ActionStep__Group__0__Impl"


    // $ANTLR start "rule__ActionStep__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3329:1: rule__ActionStep__Group__1 : rule__ActionStep__Group__1__Impl rule__ActionStep__Group__2 ;
    public final void rule__ActionStep__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3333:1: ( rule__ActionStep__Group__1__Impl rule__ActionStep__Group__2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3334:2: rule__ActionStep__Group__1__Impl rule__ActionStep__Group__2
            {
            pushFollow(FOLLOW_rule__ActionStep__Group__1__Impl_in_rule__ActionStep__Group__16796);
            rule__ActionStep__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ActionStep__Group__2_in_rule__ActionStep__Group__16799);
            rule__ActionStep__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ActionStep__Group__1"


    // $ANTLR start "rule__ActionStep__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3341:1: rule__ActionStep__Group__1__Impl : ( '.' ) ;
    public final void rule__ActionStep__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3345:1: ( ( '.' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3346:1: ( '.' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3346:1: ( '.' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3347:1: '.'
            {
             before(grammarAccess.getActionStepAccess().getFullStopKeyword_1()); 
            match(input,48,FOLLOW_48_in_rule__ActionStep__Group__1__Impl6827); 
             after(grammarAccess.getActionStepAccess().getFullStopKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ActionStep__Group__1__Impl"


    // $ANTLR start "rule__ActionStep__Group__2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3360:1: rule__ActionStep__Group__2 : rule__ActionStep__Group__2__Impl rule__ActionStep__Group__3 ;
    public final void rule__ActionStep__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3364:1: ( rule__ActionStep__Group__2__Impl rule__ActionStep__Group__3 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3365:2: rule__ActionStep__Group__2__Impl rule__ActionStep__Group__3
            {
            pushFollow(FOLLOW_rule__ActionStep__Group__2__Impl_in_rule__ActionStep__Group__26858);
            rule__ActionStep__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ActionStep__Group__3_in_rule__ActionStep__Group__26861);
            rule__ActionStep__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ActionStep__Group__2"


    // $ANTLR start "rule__ActionStep__Group__2__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3372:1: rule__ActionStep__Group__2__Impl : ( ( rule__ActionStep__ActorAssignment_2 ) ) ;
    public final void rule__ActionStep__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3376:1: ( ( ( rule__ActionStep__ActorAssignment_2 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3377:1: ( ( rule__ActionStep__ActorAssignment_2 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3377:1: ( ( rule__ActionStep__ActorAssignment_2 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3378:1: ( rule__ActionStep__ActorAssignment_2 )
            {
             before(grammarAccess.getActionStepAccess().getActorAssignment_2()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3379:1: ( rule__ActionStep__ActorAssignment_2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3379:2: rule__ActionStep__ActorAssignment_2
            {
            pushFollow(FOLLOW_rule__ActionStep__ActorAssignment_2_in_rule__ActionStep__Group__2__Impl6888);
            rule__ActionStep__ActorAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getActionStepAccess().getActorAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ActionStep__Group__2__Impl"


    // $ANTLR start "rule__ActionStep__Group__3"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3389:1: rule__ActionStep__Group__3 : rule__ActionStep__Group__3__Impl rule__ActionStep__Group__4 ;
    public final void rule__ActionStep__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3393:1: ( rule__ActionStep__Group__3__Impl rule__ActionStep__Group__4 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3394:2: rule__ActionStep__Group__3__Impl rule__ActionStep__Group__4
            {
            pushFollow(FOLLOW_rule__ActionStep__Group__3__Impl_in_rule__ActionStep__Group__36918);
            rule__ActionStep__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ActionStep__Group__4_in_rule__ActionStep__Group__36921);
            rule__ActionStep__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ActionStep__Group__3"


    // $ANTLR start "rule__ActionStep__Group__3__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3401:1: rule__ActionStep__Group__3__Impl : ( '-' ) ;
    public final void rule__ActionStep__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3405:1: ( ( '-' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3406:1: ( '-' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3406:1: ( '-' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3407:1: '-'
            {
             before(grammarAccess.getActionStepAccess().getHyphenMinusKeyword_3()); 
            match(input,47,FOLLOW_47_in_rule__ActionStep__Group__3__Impl6949); 
             after(grammarAccess.getActionStepAccess().getHyphenMinusKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ActionStep__Group__3__Impl"


    // $ANTLR start "rule__ActionStep__Group__4"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3420:1: rule__ActionStep__Group__4 : rule__ActionStep__Group__4__Impl ;
    public final void rule__ActionStep__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3424:1: ( rule__ActionStep__Group__4__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3425:2: rule__ActionStep__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__ActionStep__Group__4__Impl_in_rule__ActionStep__Group__46980);
            rule__ActionStep__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ActionStep__Group__4"


    // $ANTLR start "rule__ActionStep__Group__4__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3431:1: rule__ActionStep__Group__4__Impl : ( ( rule__ActionStep__ActionAssignment_4 ) ) ;
    public final void rule__ActionStep__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3435:1: ( ( ( rule__ActionStep__ActionAssignment_4 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3436:1: ( ( rule__ActionStep__ActionAssignment_4 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3436:1: ( ( rule__ActionStep__ActionAssignment_4 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3437:1: ( rule__ActionStep__ActionAssignment_4 )
            {
             before(grammarAccess.getActionStepAccess().getActionAssignment_4()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3438:1: ( rule__ActionStep__ActionAssignment_4 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3438:2: rule__ActionStep__ActionAssignment_4
            {
            pushFollow(FOLLOW_rule__ActionStep__ActionAssignment_4_in_rule__ActionStep__Group__4__Impl7007);
            rule__ActionStep__ActionAssignment_4();

            state._fsp--;


            }

             after(grammarAccess.getActionStepAccess().getActionAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ActionStep__Group__4__Impl"


    // $ANTLR start "rule__Interaction__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3458:1: rule__Interaction__Group__0 : rule__Interaction__Group__0__Impl rule__Interaction__Group__1 ;
    public final void rule__Interaction__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3462:1: ( rule__Interaction__Group__0__Impl rule__Interaction__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3463:2: rule__Interaction__Group__0__Impl rule__Interaction__Group__1
            {
            pushFollow(FOLLOW_rule__Interaction__Group__0__Impl_in_rule__Interaction__Group__07047);
            rule__Interaction__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Interaction__Group__1_in_rule__Interaction__Group__07050);
            rule__Interaction__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interaction__Group__0"


    // $ANTLR start "rule__Interaction__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3470:1: rule__Interaction__Group__0__Impl : ( ( rule__Interaction__DescriptionAssignment_0 ) ) ;
    public final void rule__Interaction__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3474:1: ( ( ( rule__Interaction__DescriptionAssignment_0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3475:1: ( ( rule__Interaction__DescriptionAssignment_0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3475:1: ( ( rule__Interaction__DescriptionAssignment_0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3476:1: ( rule__Interaction__DescriptionAssignment_0 )
            {
             before(grammarAccess.getInteractionAccess().getDescriptionAssignment_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3477:1: ( rule__Interaction__DescriptionAssignment_0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3477:2: rule__Interaction__DescriptionAssignment_0
            {
            pushFollow(FOLLOW_rule__Interaction__DescriptionAssignment_0_in_rule__Interaction__Group__0__Impl7077);
            rule__Interaction__DescriptionAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getInteractionAccess().getDescriptionAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interaction__Group__0__Impl"


    // $ANTLR start "rule__Interaction__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3487:1: rule__Interaction__Group__1 : rule__Interaction__Group__1__Impl ;
    public final void rule__Interaction__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3491:1: ( rule__Interaction__Group__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3492:2: rule__Interaction__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Interaction__Group__1__Impl_in_rule__Interaction__Group__17107);
            rule__Interaction__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interaction__Group__1"


    // $ANTLR start "rule__Interaction__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3498:1: rule__Interaction__Group__1__Impl : ( ( rule__Interaction__SubjectAssignment_1 ) ) ;
    public final void rule__Interaction__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3502:1: ( ( ( rule__Interaction__SubjectAssignment_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3503:1: ( ( rule__Interaction__SubjectAssignment_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3503:1: ( ( rule__Interaction__SubjectAssignment_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3504:1: ( rule__Interaction__SubjectAssignment_1 )
            {
             before(grammarAccess.getInteractionAccess().getSubjectAssignment_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3505:1: ( rule__Interaction__SubjectAssignment_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3505:2: rule__Interaction__SubjectAssignment_1
            {
            pushFollow(FOLLOW_rule__Interaction__SubjectAssignment_1_in_rule__Interaction__Group__1__Impl7134);
            rule__Interaction__SubjectAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getInteractionAccess().getSubjectAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interaction__Group__1__Impl"


    // $ANTLR start "rule__StepRangeSelector__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3519:1: rule__StepRangeSelector__Group__0 : rule__StepRangeSelector__Group__0__Impl rule__StepRangeSelector__Group__1 ;
    public final void rule__StepRangeSelector__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3523:1: ( rule__StepRangeSelector__Group__0__Impl rule__StepRangeSelector__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3524:2: rule__StepRangeSelector__Group__0__Impl rule__StepRangeSelector__Group__1
            {
            pushFollow(FOLLOW_rule__StepRangeSelector__Group__0__Impl_in_rule__StepRangeSelector__Group__07168);
            rule__StepRangeSelector__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__StepRangeSelector__Group__1_in_rule__StepRangeSelector__Group__07171);
            rule__StepRangeSelector__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepRangeSelector__Group__0"


    // $ANTLR start "rule__StepRangeSelector__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3531:1: rule__StepRangeSelector__Group__0__Impl : ( ( rule__StepRangeSelector__FromAssignment_0 ) ) ;
    public final void rule__StepRangeSelector__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3535:1: ( ( ( rule__StepRangeSelector__FromAssignment_0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3536:1: ( ( rule__StepRangeSelector__FromAssignment_0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3536:1: ( ( rule__StepRangeSelector__FromAssignment_0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3537:1: ( rule__StepRangeSelector__FromAssignment_0 )
            {
             before(grammarAccess.getStepRangeSelectorAccess().getFromAssignment_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3538:1: ( rule__StepRangeSelector__FromAssignment_0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3538:2: rule__StepRangeSelector__FromAssignment_0
            {
            pushFollow(FOLLOW_rule__StepRangeSelector__FromAssignment_0_in_rule__StepRangeSelector__Group__0__Impl7198);
            rule__StepRangeSelector__FromAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getStepRangeSelectorAccess().getFromAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepRangeSelector__Group__0__Impl"


    // $ANTLR start "rule__StepRangeSelector__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3548:1: rule__StepRangeSelector__Group__1 : rule__StepRangeSelector__Group__1__Impl rule__StepRangeSelector__Group__2 ;
    public final void rule__StepRangeSelector__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3552:1: ( rule__StepRangeSelector__Group__1__Impl rule__StepRangeSelector__Group__2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3553:2: rule__StepRangeSelector__Group__1__Impl rule__StepRangeSelector__Group__2
            {
            pushFollow(FOLLOW_rule__StepRangeSelector__Group__1__Impl_in_rule__StepRangeSelector__Group__17228);
            rule__StepRangeSelector__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__StepRangeSelector__Group__2_in_rule__StepRangeSelector__Group__17231);
            rule__StepRangeSelector__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepRangeSelector__Group__1"


    // $ANTLR start "rule__StepRangeSelector__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3560:1: rule__StepRangeSelector__Group__1__Impl : ( '-' ) ;
    public final void rule__StepRangeSelector__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3564:1: ( ( '-' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3565:1: ( '-' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3565:1: ( '-' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3566:1: '-'
            {
             before(grammarAccess.getStepRangeSelectorAccess().getHyphenMinusKeyword_1()); 
            match(input,47,FOLLOW_47_in_rule__StepRangeSelector__Group__1__Impl7259); 
             after(grammarAccess.getStepRangeSelectorAccess().getHyphenMinusKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepRangeSelector__Group__1__Impl"


    // $ANTLR start "rule__StepRangeSelector__Group__2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3579:1: rule__StepRangeSelector__Group__2 : rule__StepRangeSelector__Group__2__Impl ;
    public final void rule__StepRangeSelector__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3583:1: ( rule__StepRangeSelector__Group__2__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3584:2: rule__StepRangeSelector__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__StepRangeSelector__Group__2__Impl_in_rule__StepRangeSelector__Group__27290);
            rule__StepRangeSelector__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepRangeSelector__Group__2"


    // $ANTLR start "rule__StepRangeSelector__Group__2__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3590:1: rule__StepRangeSelector__Group__2__Impl : ( ( rule__StepRangeSelector__ToAssignment_2 ) ) ;
    public final void rule__StepRangeSelector__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3594:1: ( ( ( rule__StepRangeSelector__ToAssignment_2 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3595:1: ( ( rule__StepRangeSelector__ToAssignment_2 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3595:1: ( ( rule__StepRangeSelector__ToAssignment_2 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3596:1: ( rule__StepRangeSelector__ToAssignment_2 )
            {
             before(grammarAccess.getStepRangeSelectorAccess().getToAssignment_2()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3597:1: ( rule__StepRangeSelector__ToAssignment_2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3597:2: rule__StepRangeSelector__ToAssignment_2
            {
            pushFollow(FOLLOW_rule__StepRangeSelector__ToAssignment_2_in_rule__StepRangeSelector__Group__2__Impl7317);
            rule__StepRangeSelector__ToAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getStepRangeSelectorAccess().getToAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepRangeSelector__Group__2__Impl"


    // $ANTLR start "rule__StepListSelector__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3613:1: rule__StepListSelector__Group__0 : rule__StepListSelector__Group__0__Impl rule__StepListSelector__Group__1 ;
    public final void rule__StepListSelector__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3617:1: ( rule__StepListSelector__Group__0__Impl rule__StepListSelector__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3618:2: rule__StepListSelector__Group__0__Impl rule__StepListSelector__Group__1
            {
            pushFollow(FOLLOW_rule__StepListSelector__Group__0__Impl_in_rule__StepListSelector__Group__07353);
            rule__StepListSelector__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__StepListSelector__Group__1_in_rule__StepListSelector__Group__07356);
            rule__StepListSelector__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepListSelector__Group__0"


    // $ANTLR start "rule__StepListSelector__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3625:1: rule__StepListSelector__Group__0__Impl : ( ( rule__StepListSelector__SelectorsAssignment_0 ) ) ;
    public final void rule__StepListSelector__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3629:1: ( ( ( rule__StepListSelector__SelectorsAssignment_0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3630:1: ( ( rule__StepListSelector__SelectorsAssignment_0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3630:1: ( ( rule__StepListSelector__SelectorsAssignment_0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3631:1: ( rule__StepListSelector__SelectorsAssignment_0 )
            {
             before(grammarAccess.getStepListSelectorAccess().getSelectorsAssignment_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3632:1: ( rule__StepListSelector__SelectorsAssignment_0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3632:2: rule__StepListSelector__SelectorsAssignment_0
            {
            pushFollow(FOLLOW_rule__StepListSelector__SelectorsAssignment_0_in_rule__StepListSelector__Group__0__Impl7383);
            rule__StepListSelector__SelectorsAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getStepListSelectorAccess().getSelectorsAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepListSelector__Group__0__Impl"


    // $ANTLR start "rule__StepListSelector__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3642:1: rule__StepListSelector__Group__1 : rule__StepListSelector__Group__1__Impl ;
    public final void rule__StepListSelector__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3646:1: ( rule__StepListSelector__Group__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3647:2: rule__StepListSelector__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__StepListSelector__Group__1__Impl_in_rule__StepListSelector__Group__17413);
            rule__StepListSelector__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepListSelector__Group__1"


    // $ANTLR start "rule__StepListSelector__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3653:1: rule__StepListSelector__Group__1__Impl : ( ( rule__StepListSelector__Group_1__0 )* ) ;
    public final void rule__StepListSelector__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3657:1: ( ( ( rule__StepListSelector__Group_1__0 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3658:1: ( ( rule__StepListSelector__Group_1__0 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3658:1: ( ( rule__StepListSelector__Group_1__0 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3659:1: ( rule__StepListSelector__Group_1__0 )*
            {
             before(grammarAccess.getStepListSelectorAccess().getGroup_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3660:1: ( rule__StepListSelector__Group_1__0 )*
            loop29:
            do {
                int alt29=2;
                int LA29_0 = input.LA(1);

                if ( (LA29_0==15) ) {
                    alt29=1;
                }


                switch (alt29) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3660:2: rule__StepListSelector__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__StepListSelector__Group_1__0_in_rule__StepListSelector__Group__1__Impl7440);
            	    rule__StepListSelector__Group_1__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop29;
                }
            } while (true);

             after(grammarAccess.getStepListSelectorAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepListSelector__Group__1__Impl"


    // $ANTLR start "rule__StepListSelector__Group_1__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3674:1: rule__StepListSelector__Group_1__0 : rule__StepListSelector__Group_1__0__Impl rule__StepListSelector__Group_1__1 ;
    public final void rule__StepListSelector__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3678:1: ( rule__StepListSelector__Group_1__0__Impl rule__StepListSelector__Group_1__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3679:2: rule__StepListSelector__Group_1__0__Impl rule__StepListSelector__Group_1__1
            {
            pushFollow(FOLLOW_rule__StepListSelector__Group_1__0__Impl_in_rule__StepListSelector__Group_1__07475);
            rule__StepListSelector__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__StepListSelector__Group_1__1_in_rule__StepListSelector__Group_1__07478);
            rule__StepListSelector__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepListSelector__Group_1__0"


    // $ANTLR start "rule__StepListSelector__Group_1__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3686:1: rule__StepListSelector__Group_1__0__Impl : ( ',' ) ;
    public final void rule__StepListSelector__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3690:1: ( ( ',' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3691:1: ( ',' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3691:1: ( ',' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3692:1: ','
            {
             before(grammarAccess.getStepListSelectorAccess().getCommaKeyword_1_0()); 
            match(input,15,FOLLOW_15_in_rule__StepListSelector__Group_1__0__Impl7506); 
             after(grammarAccess.getStepListSelectorAccess().getCommaKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepListSelector__Group_1__0__Impl"


    // $ANTLR start "rule__StepListSelector__Group_1__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3705:1: rule__StepListSelector__Group_1__1 : rule__StepListSelector__Group_1__1__Impl ;
    public final void rule__StepListSelector__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3709:1: ( rule__StepListSelector__Group_1__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3710:2: rule__StepListSelector__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__StepListSelector__Group_1__1__Impl_in_rule__StepListSelector__Group_1__17537);
            rule__StepListSelector__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepListSelector__Group_1__1"


    // $ANTLR start "rule__StepListSelector__Group_1__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3716:1: rule__StepListSelector__Group_1__1__Impl : ( ( rule__StepListSelector__SelectorsAssignment_1_1 ) ) ;
    public final void rule__StepListSelector__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3720:1: ( ( ( rule__StepListSelector__SelectorsAssignment_1_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3721:1: ( ( rule__StepListSelector__SelectorsAssignment_1_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3721:1: ( ( rule__StepListSelector__SelectorsAssignment_1_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3722:1: ( rule__StepListSelector__SelectorsAssignment_1_1 )
            {
             before(grammarAccess.getStepListSelectorAccess().getSelectorsAssignment_1_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3723:1: ( rule__StepListSelector__SelectorsAssignment_1_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3723:2: rule__StepListSelector__SelectorsAssignment_1_1
            {
            pushFollow(FOLLOW_rule__StepListSelector__SelectorsAssignment_1_1_in_rule__StepListSelector__Group_1__1__Impl7564);
            rule__StepListSelector__SelectorsAssignment_1_1();

            state._fsp--;


            }

             after(grammarAccess.getStepListSelectorAccess().getSelectorsAssignment_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepListSelector__Group_1__1__Impl"


    // $ANTLR start "rule__ScenarioEnd__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3737:1: rule__ScenarioEnd__Group__0 : rule__ScenarioEnd__Group__0__Impl rule__ScenarioEnd__Group__1 ;
    public final void rule__ScenarioEnd__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3741:1: ( rule__ScenarioEnd__Group__0__Impl rule__ScenarioEnd__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3742:2: rule__ScenarioEnd__Group__0__Impl rule__ScenarioEnd__Group__1
            {
            pushFollow(FOLLOW_rule__ScenarioEnd__Group__0__Impl_in_rule__ScenarioEnd__Group__07598);
            rule__ScenarioEnd__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ScenarioEnd__Group__1_in_rule__ScenarioEnd__Group__07601);
            rule__ScenarioEnd__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ScenarioEnd__Group__0"


    // $ANTLR start "rule__ScenarioEnd__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3749:1: rule__ScenarioEnd__Group__0__Impl : ( 'Use case ends with' ) ;
    public final void rule__ScenarioEnd__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3753:1: ( ( 'Use case ends with' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3754:1: ( 'Use case ends with' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3754:1: ( 'Use case ends with' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3755:1: 'Use case ends with'
            {
             before(grammarAccess.getScenarioEndAccess().getUseCaseEndsWithKeyword_0()); 
            match(input,49,FOLLOW_49_in_rule__ScenarioEnd__Group__0__Impl7629); 
             after(grammarAccess.getScenarioEndAccess().getUseCaseEndsWithKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ScenarioEnd__Group__0__Impl"


    // $ANTLR start "rule__ScenarioEnd__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3768:1: rule__ScenarioEnd__Group__1 : rule__ScenarioEnd__Group__1__Impl ;
    public final void rule__ScenarioEnd__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3772:1: ( rule__ScenarioEnd__Group__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3773:2: rule__ScenarioEnd__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__ScenarioEnd__Group__1__Impl_in_rule__ScenarioEnd__Group__17660);
            rule__ScenarioEnd__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ScenarioEnd__Group__1"


    // $ANTLR start "rule__ScenarioEnd__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3779:1: rule__ScenarioEnd__Group__1__Impl : ( ( rule__ScenarioEnd__ResultAssignment_1 ) ) ;
    public final void rule__ScenarioEnd__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3783:1: ( ( ( rule__ScenarioEnd__ResultAssignment_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3784:1: ( ( rule__ScenarioEnd__ResultAssignment_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3784:1: ( ( rule__ScenarioEnd__ResultAssignment_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3785:1: ( rule__ScenarioEnd__ResultAssignment_1 )
            {
             before(grammarAccess.getScenarioEndAccess().getResultAssignment_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3786:1: ( rule__ScenarioEnd__ResultAssignment_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3786:2: rule__ScenarioEnd__ResultAssignment_1
            {
            pushFollow(FOLLOW_rule__ScenarioEnd__ResultAssignment_1_in_rule__ScenarioEnd__Group__1__Impl7687);
            rule__ScenarioEnd__ResultAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getScenarioEndAccess().getResultAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ScenarioEnd__Group__1__Impl"


    // $ANTLR start "rule__Goto__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3800:1: rule__Goto__Group__0 : rule__Goto__Group__0__Impl rule__Goto__Group__1 ;
    public final void rule__Goto__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3804:1: ( rule__Goto__Group__0__Impl rule__Goto__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3805:2: rule__Goto__Group__0__Impl rule__Goto__Group__1
            {
            pushFollow(FOLLOW_rule__Goto__Group__0__Impl_in_rule__Goto__Group__07721);
            rule__Goto__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Goto__Group__1_in_rule__Goto__Group__07724);
            rule__Goto__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Goto__Group__0"


    // $ANTLR start "rule__Goto__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3812:1: rule__Goto__Group__0__Impl : ( 'Use case continues with step' ) ;
    public final void rule__Goto__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3816:1: ( ( 'Use case continues with step' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3817:1: ( 'Use case continues with step' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3817:1: ( 'Use case continues with step' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3818:1: 'Use case continues with step'
            {
             before(grammarAccess.getGotoAccess().getUseCaseContinuesWithStepKeyword_0()); 
            match(input,50,FOLLOW_50_in_rule__Goto__Group__0__Impl7752); 
             after(grammarAccess.getGotoAccess().getUseCaseContinuesWithStepKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Goto__Group__0__Impl"


    // $ANTLR start "rule__Goto__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3831:1: rule__Goto__Group__1 : rule__Goto__Group__1__Impl ;
    public final void rule__Goto__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3835:1: ( rule__Goto__Group__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3836:2: rule__Goto__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Goto__Group__1__Impl_in_rule__Goto__Group__17783);
            rule__Goto__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Goto__Group__1"


    // $ANTLR start "rule__Goto__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3842:1: rule__Goto__Group__1__Impl : ( ( rule__Goto__NextStepAssignment_1 ) ) ;
    public final void rule__Goto__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3846:1: ( ( ( rule__Goto__NextStepAssignment_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3847:1: ( ( rule__Goto__NextStepAssignment_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3847:1: ( ( rule__Goto__NextStepAssignment_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3848:1: ( rule__Goto__NextStepAssignment_1 )
            {
             before(grammarAccess.getGotoAccess().getNextStepAssignment_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3849:1: ( rule__Goto__NextStepAssignment_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3849:2: rule__Goto__NextStepAssignment_1
            {
            pushFollow(FOLLOW_rule__Goto__NextStepAssignment_1_in_rule__Goto__Group__1__Impl7810);
            rule__Goto__NextStepAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getGotoAccess().getNextStepAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Goto__Group__1__Impl"


    // $ANTLR start "rule__ExtensionStep__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3863:1: rule__ExtensionStep__Group__0 : rule__ExtensionStep__Group__0__Impl rule__ExtensionStep__Group__1 ;
    public final void rule__ExtensionStep__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3867:1: ( rule__ExtensionStep__Group__0__Impl rule__ExtensionStep__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3868:2: rule__ExtensionStep__Group__0__Impl rule__ExtensionStep__Group__1
            {
            pushFollow(FOLLOW_rule__ExtensionStep__Group__0__Impl_in_rule__ExtensionStep__Group__07844);
            rule__ExtensionStep__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ExtensionStep__Group__1_in_rule__ExtensionStep__Group__07847);
            rule__ExtensionStep__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExtensionStep__Group__0"


    // $ANTLR start "rule__ExtensionStep__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3875:1: rule__ExtensionStep__Group__0__Impl : ( ( rule__ExtensionStep__ActorAssignment_0 ) ) ;
    public final void rule__ExtensionStep__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3879:1: ( ( ( rule__ExtensionStep__ActorAssignment_0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3880:1: ( ( rule__ExtensionStep__ActorAssignment_0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3880:1: ( ( rule__ExtensionStep__ActorAssignment_0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3881:1: ( rule__ExtensionStep__ActorAssignment_0 )
            {
             before(grammarAccess.getExtensionStepAccess().getActorAssignment_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3882:1: ( rule__ExtensionStep__ActorAssignment_0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3882:2: rule__ExtensionStep__ActorAssignment_0
            {
            pushFollow(FOLLOW_rule__ExtensionStep__ActorAssignment_0_in_rule__ExtensionStep__Group__0__Impl7874);
            rule__ExtensionStep__ActorAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getExtensionStepAccess().getActorAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExtensionStep__Group__0__Impl"


    // $ANTLR start "rule__ExtensionStep__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3892:1: rule__ExtensionStep__Group__1 : rule__ExtensionStep__Group__1__Impl rule__ExtensionStep__Group__2 ;
    public final void rule__ExtensionStep__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3896:1: ( rule__ExtensionStep__Group__1__Impl rule__ExtensionStep__Group__2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3897:2: rule__ExtensionStep__Group__1__Impl rule__ExtensionStep__Group__2
            {
            pushFollow(FOLLOW_rule__ExtensionStep__Group__1__Impl_in_rule__ExtensionStep__Group__17904);
            rule__ExtensionStep__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ExtensionStep__Group__2_in_rule__ExtensionStep__Group__17907);
            rule__ExtensionStep__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExtensionStep__Group__1"


    // $ANTLR start "rule__ExtensionStep__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3904:1: rule__ExtensionStep__Group__1__Impl : ( '-' ) ;
    public final void rule__ExtensionStep__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3908:1: ( ( '-' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3909:1: ( '-' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3909:1: ( '-' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3910:1: '-'
            {
             before(grammarAccess.getExtensionStepAccess().getHyphenMinusKeyword_1()); 
            match(input,47,FOLLOW_47_in_rule__ExtensionStep__Group__1__Impl7935); 
             after(grammarAccess.getExtensionStepAccess().getHyphenMinusKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExtensionStep__Group__1__Impl"


    // $ANTLR start "rule__ExtensionStep__Group__2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3923:1: rule__ExtensionStep__Group__2 : rule__ExtensionStep__Group__2__Impl ;
    public final void rule__ExtensionStep__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3927:1: ( rule__ExtensionStep__Group__2__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3928:2: rule__ExtensionStep__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__ExtensionStep__Group__2__Impl_in_rule__ExtensionStep__Group__27966);
            rule__ExtensionStep__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExtensionStep__Group__2"


    // $ANTLR start "rule__ExtensionStep__Group__2__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3934:1: rule__ExtensionStep__Group__2__Impl : ( ( rule__ExtensionStep__ActionAssignment_2 ) ) ;
    public final void rule__ExtensionStep__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3938:1: ( ( ( rule__ExtensionStep__ActionAssignment_2 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3939:1: ( ( rule__ExtensionStep__ActionAssignment_2 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3939:1: ( ( rule__ExtensionStep__ActionAssignment_2 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3940:1: ( rule__ExtensionStep__ActionAssignment_2 )
            {
             before(grammarAccess.getExtensionStepAccess().getActionAssignment_2()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3941:1: ( rule__ExtensionStep__ActionAssignment_2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3941:2: rule__ExtensionStep__ActionAssignment_2
            {
            pushFollow(FOLLOW_rule__ExtensionStep__ActionAssignment_2_in_rule__ExtensionStep__Group__2__Impl7993);
            rule__ExtensionStep__ActionAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getExtensionStepAccess().getActionAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExtensionStep__Group__2__Impl"


    // $ANTLR start "rule__Extension__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3957:1: rule__Extension__Group__0 : rule__Extension__Group__0__Impl rule__Extension__Group__1 ;
    public final void rule__Extension__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3961:1: ( rule__Extension__Group__0__Impl rule__Extension__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3962:2: rule__Extension__Group__0__Impl rule__Extension__Group__1
            {
            pushFollow(FOLLOW_rule__Extension__Group__0__Impl_in_rule__Extension__Group__08029);
            rule__Extension__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Extension__Group__1_in_rule__Extension__Group__08032);
            rule__Extension__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Extension__Group__0"


    // $ANTLR start "rule__Extension__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3969:1: rule__Extension__Group__0__Impl : ( ( rule__Extension__OccuranceAssignment_0 ) ) ;
    public final void rule__Extension__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3973:1: ( ( ( rule__Extension__OccuranceAssignment_0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3974:1: ( ( rule__Extension__OccuranceAssignment_0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3974:1: ( ( rule__Extension__OccuranceAssignment_0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3975:1: ( rule__Extension__OccuranceAssignment_0 )
            {
             before(grammarAccess.getExtensionAccess().getOccuranceAssignment_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3976:1: ( rule__Extension__OccuranceAssignment_0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3976:2: rule__Extension__OccuranceAssignment_0
            {
            pushFollow(FOLLOW_rule__Extension__OccuranceAssignment_0_in_rule__Extension__Group__0__Impl8059);
            rule__Extension__OccuranceAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getExtensionAccess().getOccuranceAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Extension__Group__0__Impl"


    // $ANTLR start "rule__Extension__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3986:1: rule__Extension__Group__1 : rule__Extension__Group__1__Impl rule__Extension__Group__2 ;
    public final void rule__Extension__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3990:1: ( rule__Extension__Group__1__Impl rule__Extension__Group__2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3991:2: rule__Extension__Group__1__Impl rule__Extension__Group__2
            {
            pushFollow(FOLLOW_rule__Extension__Group__1__Impl_in_rule__Extension__Group__18089);
            rule__Extension__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Extension__Group__2_in_rule__Extension__Group__18092);
            rule__Extension__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Extension__Group__1"


    // $ANTLR start "rule__Extension__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:3998:1: rule__Extension__Group__1__Impl : ( ( rule__Extension__ConditionAssignment_1 ) ) ;
    public final void rule__Extension__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4002:1: ( ( ( rule__Extension__ConditionAssignment_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4003:1: ( ( rule__Extension__ConditionAssignment_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4003:1: ( ( rule__Extension__ConditionAssignment_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4004:1: ( rule__Extension__ConditionAssignment_1 )
            {
             before(grammarAccess.getExtensionAccess().getConditionAssignment_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4005:1: ( rule__Extension__ConditionAssignment_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4005:2: rule__Extension__ConditionAssignment_1
            {
            pushFollow(FOLLOW_rule__Extension__ConditionAssignment_1_in_rule__Extension__Group__1__Impl8119);
            rule__Extension__ConditionAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getExtensionAccess().getConditionAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Extension__Group__1__Impl"


    // $ANTLR start "rule__Extension__Group__2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4015:1: rule__Extension__Group__2 : rule__Extension__Group__2__Impl rule__Extension__Group__3 ;
    public final void rule__Extension__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4019:1: ( rule__Extension__Group__2__Impl rule__Extension__Group__3 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4020:2: rule__Extension__Group__2__Impl rule__Extension__Group__3
            {
            pushFollow(FOLLOW_rule__Extension__Group__2__Impl_in_rule__Extension__Group__28149);
            rule__Extension__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Extension__Group__3_in_rule__Extension__Group__28152);
            rule__Extension__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Extension__Group__2"


    // $ANTLR start "rule__Extension__Group__2__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4027:1: rule__Extension__Group__2__Impl : ( ':' ) ;
    public final void rule__Extension__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4031:1: ( ( ':' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4032:1: ( ':' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4032:1: ( ':' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4033:1: ':'
            {
             before(grammarAccess.getExtensionAccess().getColonKeyword_2()); 
            match(input,30,FOLLOW_30_in_rule__Extension__Group__2__Impl8180); 
             after(grammarAccess.getExtensionAccess().getColonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Extension__Group__2__Impl"


    // $ANTLR start "rule__Extension__Group__3"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4046:1: rule__Extension__Group__3 : rule__Extension__Group__3__Impl rule__Extension__Group__4 ;
    public final void rule__Extension__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4050:1: ( rule__Extension__Group__3__Impl rule__Extension__Group__4 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4051:2: rule__Extension__Group__3__Impl rule__Extension__Group__4
            {
            pushFollow(FOLLOW_rule__Extension__Group__3__Impl_in_rule__Extension__Group__38211);
            rule__Extension__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Extension__Group__4_in_rule__Extension__Group__38214);
            rule__Extension__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Extension__Group__3"


    // $ANTLR start "rule__Extension__Group__3__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4058:1: rule__Extension__Group__3__Impl : ( ( rule__Extension__StepsAssignment_3 )* ) ;
    public final void rule__Extension__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4062:1: ( ( ( rule__Extension__StepsAssignment_3 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4063:1: ( ( rule__Extension__StepsAssignment_3 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4063:1: ( ( rule__Extension__StepsAssignment_3 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4064:1: ( rule__Extension__StepsAssignment_3 )*
            {
             before(grammarAccess.getExtensionAccess().getStepsAssignment_3()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4065:1: ( rule__Extension__StepsAssignment_3 )*
            loop30:
            do {
                int alt30=2;
                int LA30_0 = input.LA(1);

                if ( (LA30_0==RULE_UPID) ) {
                    alt30=1;
                }


                switch (alt30) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4065:2: rule__Extension__StepsAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__Extension__StepsAssignment_3_in_rule__Extension__Group__3__Impl8241);
            	    rule__Extension__StepsAssignment_3();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop30;
                }
            } while (true);

             after(grammarAccess.getExtensionAccess().getStepsAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Extension__Group__3__Impl"


    // $ANTLR start "rule__Extension__Group__4"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4075:1: rule__Extension__Group__4 : rule__Extension__Group__4__Impl ;
    public final void rule__Extension__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4079:1: ( rule__Extension__Group__4__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4080:2: rule__Extension__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Extension__Group__4__Impl_in_rule__Extension__Group__48272);
            rule__Extension__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Extension__Group__4"


    // $ANTLR start "rule__Extension__Group__4__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4086:1: rule__Extension__Group__4__Impl : ( ( rule__Extension__StepsAssignment_4 ) ) ;
    public final void rule__Extension__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4090:1: ( ( ( rule__Extension__StepsAssignment_4 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4091:1: ( ( rule__Extension__StepsAssignment_4 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4091:1: ( ( rule__Extension__StepsAssignment_4 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4092:1: ( rule__Extension__StepsAssignment_4 )
            {
             before(grammarAccess.getExtensionAccess().getStepsAssignment_4()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4093:1: ( rule__Extension__StepsAssignment_4 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4093:2: rule__Extension__StepsAssignment_4
            {
            pushFollow(FOLLOW_rule__Extension__StepsAssignment_4_in_rule__Extension__Group__4__Impl8299);
            rule__Extension__StepsAssignment_4();

            state._fsp--;


            }

             after(grammarAccess.getExtensionAccess().getStepsAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Extension__Group__4__Impl"


    // $ANTLR start "rule__Variant__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4113:1: rule__Variant__Group__0 : rule__Variant__Group__0__Impl rule__Variant__Group__1 ;
    public final void rule__Variant__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4117:1: ( rule__Variant__Group__0__Impl rule__Variant__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4118:2: rule__Variant__Group__0__Impl rule__Variant__Group__1
            {
            pushFollow(FOLLOW_rule__Variant__Group__0__Impl_in_rule__Variant__Group__08339);
            rule__Variant__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Variant__Group__1_in_rule__Variant__Group__08342);
            rule__Variant__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Variant__Group__0"


    // $ANTLR start "rule__Variant__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4125:1: rule__Variant__Group__0__Impl : ( ( rule__Variant__OccuranceAssignment_0 ) ) ;
    public final void rule__Variant__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4129:1: ( ( ( rule__Variant__OccuranceAssignment_0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4130:1: ( ( rule__Variant__OccuranceAssignment_0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4130:1: ( ( rule__Variant__OccuranceAssignment_0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4131:1: ( rule__Variant__OccuranceAssignment_0 )
            {
             before(grammarAccess.getVariantAccess().getOccuranceAssignment_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4132:1: ( rule__Variant__OccuranceAssignment_0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4132:2: rule__Variant__OccuranceAssignment_0
            {
            pushFollow(FOLLOW_rule__Variant__OccuranceAssignment_0_in_rule__Variant__Group__0__Impl8369);
            rule__Variant__OccuranceAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getVariantAccess().getOccuranceAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Variant__Group__0__Impl"


    // $ANTLR start "rule__Variant__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4142:1: rule__Variant__Group__1 : rule__Variant__Group__1__Impl ;
    public final void rule__Variant__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4146:1: ( rule__Variant__Group__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4147:2: rule__Variant__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Variant__Group__1__Impl_in_rule__Variant__Group__18399);
            rule__Variant__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Variant__Group__1"


    // $ANTLR start "rule__Variant__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4153:1: rule__Variant__Group__1__Impl : ( ( rule__Variant__DescriptionAssignment_1 ) ) ;
    public final void rule__Variant__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4157:1: ( ( ( rule__Variant__DescriptionAssignment_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4158:1: ( ( rule__Variant__DescriptionAssignment_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4158:1: ( ( rule__Variant__DescriptionAssignment_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4159:1: ( rule__Variant__DescriptionAssignment_1 )
            {
             before(grammarAccess.getVariantAccess().getDescriptionAssignment_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4160:1: ( rule__Variant__DescriptionAssignment_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4160:2: rule__Variant__DescriptionAssignment_1
            {
            pushFollow(FOLLOW_rule__Variant__DescriptionAssignment_1_in_rule__Variant__Group__1__Impl8426);
            rule__Variant__DescriptionAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getVariantAccess().getDescriptionAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Variant__Group__1__Impl"


    // $ANTLR start "rule__Issue__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4174:1: rule__Issue__Group__0 : rule__Issue__Group__0__Impl rule__Issue__Group__1 ;
    public final void rule__Issue__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4178:1: ( rule__Issue__Group__0__Impl rule__Issue__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4179:2: rule__Issue__Group__0__Impl rule__Issue__Group__1
            {
            pushFollow(FOLLOW_rule__Issue__Group__0__Impl_in_rule__Issue__Group__08460);
            rule__Issue__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Issue__Group__1_in_rule__Issue__Group__08463);
            rule__Issue__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Issue__Group__0"


    // $ANTLR start "rule__Issue__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4186:1: rule__Issue__Group__0__Impl : ( ( rule__Issue__ActorAssignment_0 ) ) ;
    public final void rule__Issue__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4190:1: ( ( ( rule__Issue__ActorAssignment_0 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4191:1: ( ( rule__Issue__ActorAssignment_0 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4191:1: ( ( rule__Issue__ActorAssignment_0 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4192:1: ( rule__Issue__ActorAssignment_0 )
            {
             before(grammarAccess.getIssueAccess().getActorAssignment_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4193:1: ( rule__Issue__ActorAssignment_0 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4193:2: rule__Issue__ActorAssignment_0
            {
            pushFollow(FOLLOW_rule__Issue__ActorAssignment_0_in_rule__Issue__Group__0__Impl8490);
            rule__Issue__ActorAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getIssueAccess().getActorAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Issue__Group__0__Impl"


    // $ANTLR start "rule__Issue__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4203:1: rule__Issue__Group__1 : rule__Issue__Group__1__Impl rule__Issue__Group__2 ;
    public final void rule__Issue__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4207:1: ( rule__Issue__Group__1__Impl rule__Issue__Group__2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4208:2: rule__Issue__Group__1__Impl rule__Issue__Group__2
            {
            pushFollow(FOLLOW_rule__Issue__Group__1__Impl_in_rule__Issue__Group__18520);
            rule__Issue__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Issue__Group__2_in_rule__Issue__Group__18523);
            rule__Issue__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Issue__Group__1"


    // $ANTLR start "rule__Issue__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4215:1: rule__Issue__Group__1__Impl : ( '-' ) ;
    public final void rule__Issue__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4219:1: ( ( '-' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4220:1: ( '-' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4220:1: ( '-' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4221:1: '-'
            {
             before(grammarAccess.getIssueAccess().getHyphenMinusKeyword_1()); 
            match(input,47,FOLLOW_47_in_rule__Issue__Group__1__Impl8551); 
             after(grammarAccess.getIssueAccess().getHyphenMinusKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Issue__Group__1__Impl"


    // $ANTLR start "rule__Issue__Group__2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4234:1: rule__Issue__Group__2 : rule__Issue__Group__2__Impl rule__Issue__Group__3 ;
    public final void rule__Issue__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4238:1: ( rule__Issue__Group__2__Impl rule__Issue__Group__3 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4239:2: rule__Issue__Group__2__Impl rule__Issue__Group__3
            {
            pushFollow(FOLLOW_rule__Issue__Group__2__Impl_in_rule__Issue__Group__28582);
            rule__Issue__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Issue__Group__3_in_rule__Issue__Group__28585);
            rule__Issue__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Issue__Group__2"


    // $ANTLR start "rule__Issue__Group__2__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4246:1: rule__Issue__Group__2__Impl : ( ( rule__Issue__DescriptionAssignment_2 ) ) ;
    public final void rule__Issue__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4250:1: ( ( ( rule__Issue__DescriptionAssignment_2 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4251:1: ( ( rule__Issue__DescriptionAssignment_2 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4251:1: ( ( rule__Issue__DescriptionAssignment_2 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4252:1: ( rule__Issue__DescriptionAssignment_2 )
            {
             before(grammarAccess.getIssueAccess().getDescriptionAssignment_2()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4253:1: ( rule__Issue__DescriptionAssignment_2 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4253:2: rule__Issue__DescriptionAssignment_2
            {
            pushFollow(FOLLOW_rule__Issue__DescriptionAssignment_2_in_rule__Issue__Group__2__Impl8612);
            rule__Issue__DescriptionAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getIssueAccess().getDescriptionAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Issue__Group__2__Impl"


    // $ANTLR start "rule__Issue__Group__3"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4263:1: rule__Issue__Group__3 : rule__Issue__Group__3__Impl ;
    public final void rule__Issue__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4267:1: ( rule__Issue__Group__3__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4268:2: rule__Issue__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Issue__Group__3__Impl_in_rule__Issue__Group__38642);
            rule__Issue__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Issue__Group__3"


    // $ANTLR start "rule__Issue__Group__3__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4274:1: rule__Issue__Group__3__Impl : ( '?' ) ;
    public final void rule__Issue__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4278:1: ( ( '?' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4279:1: ( '?' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4279:1: ( '?' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4280:1: '?'
            {
             before(grammarAccess.getIssueAccess().getQuestionMarkKeyword_3()); 
            match(input,51,FOLLOW_51_in_rule__Issue__Group__3__Impl8670); 
             after(grammarAccess.getIssueAccess().getQuestionMarkKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Issue__Group__3__Impl"


    // $ANTLR start "rule__PlainText__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4301:1: rule__PlainText__Group__0 : rule__PlainText__Group__0__Impl rule__PlainText__Group__1 ;
    public final void rule__PlainText__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4305:1: ( rule__PlainText__Group__0__Impl rule__PlainText__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4306:2: rule__PlainText__Group__0__Impl rule__PlainText__Group__1
            {
            pushFollow(FOLLOW_rule__PlainText__Group__0__Impl_in_rule__PlainText__Group__08709);
            rule__PlainText__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__PlainText__Group__1_in_rule__PlainText__Group__08712);
            rule__PlainText__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PlainText__Group__0"


    // $ANTLR start "rule__PlainText__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4313:1: rule__PlainText__Group__0__Impl : ( RULE_ID ) ;
    public final void rule__PlainText__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4317:1: ( ( RULE_ID ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4318:1: ( RULE_ID )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4318:1: ( RULE_ID )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4319:1: RULE_ID
            {
             before(grammarAccess.getPlainTextAccess().getIDTerminalRuleCall_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PlainText__Group__0__Impl8739); 
             after(grammarAccess.getPlainTextAccess().getIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PlainText__Group__0__Impl"


    // $ANTLR start "rule__PlainText__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4330:1: rule__PlainText__Group__1 : rule__PlainText__Group__1__Impl ;
    public final void rule__PlainText__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4334:1: ( rule__PlainText__Group__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4335:2: rule__PlainText__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__PlainText__Group__1__Impl_in_rule__PlainText__Group__18768);
            rule__PlainText__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PlainText__Group__1"


    // $ANTLR start "rule__PlainText__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4341:1: rule__PlainText__Group__1__Impl : ( ( rule__PlainText__Alternatives_1 )* ) ;
    public final void rule__PlainText__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4345:1: ( ( ( rule__PlainText__Alternatives_1 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4346:1: ( ( rule__PlainText__Alternatives_1 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4346:1: ( ( rule__PlainText__Alternatives_1 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4347:1: ( rule__PlainText__Alternatives_1 )*
            {
             before(grammarAccess.getPlainTextAccess().getAlternatives_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4348:1: ( rule__PlainText__Alternatives_1 )*
            loop31:
            do {
                int alt31=2;
                int LA31_0 = input.LA(1);

                if ( (LA31_0==RULE_ID||(LA31_0>=15 && LA31_0<=18)) ) {
                    alt31=1;
                }


                switch (alt31) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4348:2: rule__PlainText__Alternatives_1
            	    {
            	    pushFollow(FOLLOW_rule__PlainText__Alternatives_1_in_rule__PlainText__Group__1__Impl8795);
            	    rule__PlainText__Alternatives_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop31;
                }
            } while (true);

             after(grammarAccess.getPlainTextAccess().getAlternatives_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PlainText__Group__1__Impl"


    // $ANTLR start "rule__NAME__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4362:1: rule__NAME__Group__0 : rule__NAME__Group__0__Impl rule__NAME__Group__1 ;
    public final void rule__NAME__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4366:1: ( rule__NAME__Group__0__Impl rule__NAME__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4367:2: rule__NAME__Group__0__Impl rule__NAME__Group__1
            {
            pushFollow(FOLLOW_rule__NAME__Group__0__Impl_in_rule__NAME__Group__08830);
            rule__NAME__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__NAME__Group__1_in_rule__NAME__Group__08833);
            rule__NAME__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NAME__Group__0"


    // $ANTLR start "rule__NAME__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4374:1: rule__NAME__Group__0__Impl : ( RULE_UPID ) ;
    public final void rule__NAME__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4378:1: ( ( RULE_UPID ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4379:1: ( RULE_UPID )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4379:1: ( RULE_UPID )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4380:1: RULE_UPID
            {
             before(grammarAccess.getNAMEAccess().getUPIDTerminalRuleCall_0()); 
            match(input,RULE_UPID,FOLLOW_RULE_UPID_in_rule__NAME__Group__0__Impl8860); 
             after(grammarAccess.getNAMEAccess().getUPIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NAME__Group__0__Impl"


    // $ANTLR start "rule__NAME__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4391:1: rule__NAME__Group__1 : rule__NAME__Group__1__Impl ;
    public final void rule__NAME__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4395:1: ( rule__NAME__Group__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4396:2: rule__NAME__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__NAME__Group__1__Impl_in_rule__NAME__Group__18889);
            rule__NAME__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NAME__Group__1"


    // $ANTLR start "rule__NAME__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4402:1: rule__NAME__Group__1__Impl : ( ( rulePlainText )? ) ;
    public final void rule__NAME__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4406:1: ( ( ( rulePlainText )? ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4407:1: ( ( rulePlainText )? )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4407:1: ( ( rulePlainText )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4408:1: ( rulePlainText )?
            {
             before(grammarAccess.getNAMEAccess().getPlainTextParserRuleCall_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4409:1: ( rulePlainText )?
            int alt32=2;
            int LA32_0 = input.LA(1);

            if ( (LA32_0==RULE_ID) ) {
                alt32=1;
            }
            switch (alt32) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4409:3: rulePlainText
                    {
                    pushFollow(FOLLOW_rulePlainText_in_rule__NAME__Group__1__Impl8917);
                    rulePlainText();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getNAMEAccess().getPlainTextParserRuleCall_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NAME__Group__1__Impl"


    // $ANTLR start "rule__Import__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4423:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
    public final void rule__Import__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4427:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4428:2: rule__Import__Group__0__Impl rule__Import__Group__1
            {
            pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__08952);
            rule__Import__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__08955);
            rule__Import__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__Group__0"


    // $ANTLR start "rule__Import__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4435:1: rule__Import__Group__0__Impl : ( 'import' ) ;
    public final void rule__Import__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4439:1: ( ( 'import' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4440:1: ( 'import' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4440:1: ( 'import' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4441:1: 'import'
            {
             before(grammarAccess.getImportAccess().getImportKeyword_0()); 
            match(input,52,FOLLOW_52_in_rule__Import__Group__0__Impl8983); 
             after(grammarAccess.getImportAccess().getImportKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__Group__0__Impl"


    // $ANTLR start "rule__Import__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4454:1: rule__Import__Group__1 : rule__Import__Group__1__Impl ;
    public final void rule__Import__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4458:1: ( rule__Import__Group__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4459:2: rule__Import__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__19014);
            rule__Import__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__Group__1"


    // $ANTLR start "rule__Import__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4465:1: rule__Import__Group__1__Impl : ( ( rule__Import__ImportedNamespaceAssignment_1 ) ) ;
    public final void rule__Import__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4469:1: ( ( ( rule__Import__ImportedNamespaceAssignment_1 ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4470:1: ( ( rule__Import__ImportedNamespaceAssignment_1 ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4470:1: ( ( rule__Import__ImportedNamespaceAssignment_1 ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4471:1: ( rule__Import__ImportedNamespaceAssignment_1 )
            {
             before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4472:1: ( rule__Import__ImportedNamespaceAssignment_1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4472:2: rule__Import__ImportedNamespaceAssignment_1
            {
            pushFollow(FOLLOW_rule__Import__ImportedNamespaceAssignment_1_in_rule__Import__Group__1__Impl9041);
            rule__Import__ImportedNamespaceAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__Group__1__Impl"


    // $ANTLR start "rule__QualifiedName__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4486:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ;
    public final void rule__QualifiedName__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4490:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4491:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__09075);
            rule__QualifiedName__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__09078);
            rule__QualifiedName__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__0"


    // $ANTLR start "rule__QualifiedName__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4498:1: rule__QualifiedName__Group__0__Impl : ( RULE_ID ) ;
    public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4502:1: ( ( RULE_ID ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4503:1: ( RULE_ID )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4503:1: ( RULE_ID )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4504:1: RULE_ID
            {
             before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__QualifiedName__Group__0__Impl9105); 
             after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__0__Impl"


    // $ANTLR start "rule__QualifiedName__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4515:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
    public final void rule__QualifiedName__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4519:1: ( rule__QualifiedName__Group__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4520:2: rule__QualifiedName__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__19134);
            rule__QualifiedName__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__1"


    // $ANTLR start "rule__QualifiedName__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4526:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ;
    public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4530:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4531:1: ( ( rule__QualifiedName__Group_1__0 )* )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4531:1: ( ( rule__QualifiedName__Group_1__0 )* )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4532:1: ( rule__QualifiedName__Group_1__0 )*
            {
             before(grammarAccess.getQualifiedNameAccess().getGroup_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4533:1: ( rule__QualifiedName__Group_1__0 )*
            loop33:
            do {
                int alt33=2;
                int LA33_0 = input.LA(1);

                if ( (LA33_0==48) ) {
                    alt33=1;
                }


                switch (alt33) {
            	case 1 :
            	    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4533:2: rule__QualifiedName__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl9161);
            	    rule__QualifiedName__Group_1__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop33;
                }
            } while (true);

             after(grammarAccess.getQualifiedNameAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__1__Impl"


    // $ANTLR start "rule__QualifiedName__Group_1__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4547:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
    public final void rule__QualifiedName__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4551:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4552:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__09196);
            rule__QualifiedName__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__09199);
            rule__QualifiedName__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__0"


    // $ANTLR start "rule__QualifiedName__Group_1__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4559:1: rule__QualifiedName__Group_1__0__Impl : ( '.' ) ;
    public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4563:1: ( ( '.' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4564:1: ( '.' )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4564:1: ( '.' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4565:1: '.'
            {
             before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
            match(input,48,FOLLOW_48_in_rule__QualifiedName__Group_1__0__Impl9227); 
             after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__0__Impl"


    // $ANTLR start "rule__QualifiedName__Group_1__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4578:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ;
    public final void rule__QualifiedName__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4582:1: ( rule__QualifiedName__Group_1__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4583:2: rule__QualifiedName__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__19258);
            rule__QualifiedName__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__1"


    // $ANTLR start "rule__QualifiedName__Group_1__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4589:1: rule__QualifiedName__Group_1__1__Impl : ( RULE_ID ) ;
    public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4593:1: ( ( RULE_ID ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4594:1: ( RULE_ID )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4594:1: ( RULE_ID )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4595:1: RULE_ID
            {
             before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__QualifiedName__Group_1__1__Impl9285); 
             after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__1__Impl"


    // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4610:1: rule__QualifiedNameWithWildcard__Group__0 : rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ;
    public final void rule__QualifiedNameWithWildcard__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4614:1: ( rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4615:2: rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1
            {
            pushFollow(FOLLOW_rule__QualifiedNameWithWildcard__Group__0__Impl_in_rule__QualifiedNameWithWildcard__Group__09318);
            rule__QualifiedNameWithWildcard__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__QualifiedNameWithWildcard__Group__1_in_rule__QualifiedNameWithWildcard__Group__09321);
            rule__QualifiedNameWithWildcard__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedNameWithWildcard__Group__0"


    // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4622:1: rule__QualifiedNameWithWildcard__Group__0__Impl : ( ruleQualifiedName ) ;
    public final void rule__QualifiedNameWithWildcard__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4626:1: ( ( ruleQualifiedName ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4627:1: ( ruleQualifiedName )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4627:1: ( ruleQualifiedName )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4628:1: ruleQualifiedName
            {
             before(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__QualifiedNameWithWildcard__Group__0__Impl9348);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedNameWithWildcard__Group__0__Impl"


    // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4639:1: rule__QualifiedNameWithWildcard__Group__1 : rule__QualifiedNameWithWildcard__Group__1__Impl ;
    public final void rule__QualifiedNameWithWildcard__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4643:1: ( rule__QualifiedNameWithWildcard__Group__1__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4644:2: rule__QualifiedNameWithWildcard__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedNameWithWildcard__Group__1__Impl_in_rule__QualifiedNameWithWildcard__Group__19377);
            rule__QualifiedNameWithWildcard__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedNameWithWildcard__Group__1"


    // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4650:1: rule__QualifiedNameWithWildcard__Group__1__Impl : ( ( '.*' )? ) ;
    public final void rule__QualifiedNameWithWildcard__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4654:1: ( ( ( '.*' )? ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4655:1: ( ( '.*' )? )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4655:1: ( ( '.*' )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4656:1: ( '.*' )?
            {
             before(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopAsteriskKeyword_1()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4657:1: ( '.*' )?
            int alt34=2;
            int LA34_0 = input.LA(1);

            if ( (LA34_0==53) ) {
                alt34=1;
            }
            switch (alt34) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4658:2: '.*'
                    {
                    match(input,53,FOLLOW_53_in_rule__QualifiedNameWithWildcard__Group__1__Impl9406); 

                    }
                    break;

            }

             after(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopAsteriskKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedNameWithWildcard__Group__1__Impl"


    // $ANTLR start "rule__UseCase__UnorderedGroup_3"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4674:1: rule__UseCase__UnorderedGroup_3 : rule__UseCase__UnorderedGroup_3__0 {...}?;
    public final void rule__UseCase__UnorderedGroup_3() throws RecognitionException {

            	int stackSize = keepStackSize();
        		getUnorderedGroupHelper().enter(grammarAccess.getUseCaseAccess().getUnorderedGroup_3());
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4679:1: ( rule__UseCase__UnorderedGroup_3__0 {...}?)
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4680:2: rule__UseCase__UnorderedGroup_3__0 {...}?
            {
            pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_3__0_in_rule__UseCase__UnorderedGroup_39444);
            rule__UseCase__UnorderedGroup_3__0();

            state._fsp--;

            if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getUseCaseAccess().getUnorderedGroup_3()) ) {
                throw new FailedPredicateException(input, "rule__UseCase__UnorderedGroup_3", "getUnorderedGroupHelper().canLeave(grammarAccess.getUseCaseAccess().getUnorderedGroup_3())");
            }

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	getUnorderedGroupHelper().leave(grammarAccess.getUseCaseAccess().getUnorderedGroup_3());
            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__UnorderedGroup_3"


    // $ANTLR start "rule__UseCase__UnorderedGroup_3__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4691:1: rule__UseCase__UnorderedGroup_3__Impl : ( ({...}? => ( ( ( rule__UseCase__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_5__0 ) ) ) ) ) ;
    public final void rule__UseCase__UnorderedGroup_3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
        		boolean selected = false;
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4696:1: ( ( ({...}? => ( ( ( rule__UseCase__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_5__0 ) ) ) ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4697:3: ( ({...}? => ( ( ( rule__UseCase__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_5__0 ) ) ) ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4697:3: ( ({...}? => ( ( ( rule__UseCase__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_3_5__0 ) ) ) ) )
            int alt35=6;
            int LA35_0 = input.LA(1);

            if ( LA35_0 ==34 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 0) ) {
                alt35=1;
            }
            else if ( LA35_0 ==35 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 1) ) {
                alt35=2;
            }
            else if ( LA35_0 ==36 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 2) ) {
                alt35=3;
            }
            else if ( LA35_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 3) ) {
                alt35=4;
            }
            else if ( LA35_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 4) ) {
                alt35=5;
            }
            else if ( LA35_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 5) ) {
                alt35=6;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 35, 0, input);

                throw nvae;
            }
            switch (alt35) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4699:4: ({...}? => ( ( ( rule__UseCase__Group_3_0__0 ) ) ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4699:4: ({...}? => ( ( ( rule__UseCase__Group_3_0__0 ) ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4700:5: {...}? => ( ( ( rule__UseCase__Group_3_0__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 0) ) {
                        throw new FailedPredicateException(input, "rule__UseCase__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 0)");
                    }
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4700:104: ( ( ( rule__UseCase__Group_3_0__0 ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4701:6: ( ( rule__UseCase__Group_3_0__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 0);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4707:6: ( ( rule__UseCase__Group_3_0__0 ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4709:7: ( rule__UseCase__Group_3_0__0 )
                    {
                     before(grammarAccess.getUseCaseAccess().getGroup_3_0()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4710:7: ( rule__UseCase__Group_3_0__0 )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4710:8: rule__UseCase__Group_3_0__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__Group_3_0__0_in_rule__UseCase__UnorderedGroup_3__Impl9533);
                    rule__UseCase__Group_3_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getUseCaseAccess().getGroup_3_0()); 

                    }


                    }


                    }


                    }
                    break;
                case 2 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4716:4: ({...}? => ( ( ( rule__UseCase__Group_3_1__0 ) ) ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4716:4: ({...}? => ( ( ( rule__UseCase__Group_3_1__0 ) ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4717:5: {...}? => ( ( ( rule__UseCase__Group_3_1__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 1) ) {
                        throw new FailedPredicateException(input, "rule__UseCase__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 1)");
                    }
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4717:104: ( ( ( rule__UseCase__Group_3_1__0 ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4718:6: ( ( rule__UseCase__Group_3_1__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 1);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4724:6: ( ( rule__UseCase__Group_3_1__0 ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4726:7: ( rule__UseCase__Group_3_1__0 )
                    {
                     before(grammarAccess.getUseCaseAccess().getGroup_3_1()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4727:7: ( rule__UseCase__Group_3_1__0 )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4727:8: rule__UseCase__Group_3_1__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__Group_3_1__0_in_rule__UseCase__UnorderedGroup_3__Impl9624);
                    rule__UseCase__Group_3_1__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getUseCaseAccess().getGroup_3_1()); 

                    }


                    }


                    }


                    }
                    break;
                case 3 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4733:4: ({...}? => ( ( ( rule__UseCase__Group_3_2__0 ) ) ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4733:4: ({...}? => ( ( ( rule__UseCase__Group_3_2__0 ) ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4734:5: {...}? => ( ( ( rule__UseCase__Group_3_2__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 2) ) {
                        throw new FailedPredicateException(input, "rule__UseCase__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 2)");
                    }
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4734:104: ( ( ( rule__UseCase__Group_3_2__0 ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4735:6: ( ( rule__UseCase__Group_3_2__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 2);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4741:6: ( ( rule__UseCase__Group_3_2__0 ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4743:7: ( rule__UseCase__Group_3_2__0 )
                    {
                     before(grammarAccess.getUseCaseAccess().getGroup_3_2()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4744:7: ( rule__UseCase__Group_3_2__0 )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4744:8: rule__UseCase__Group_3_2__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__Group_3_2__0_in_rule__UseCase__UnorderedGroup_3__Impl9715);
                    rule__UseCase__Group_3_2__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getUseCaseAccess().getGroup_3_2()); 

                    }


                    }


                    }


                    }
                    break;
                case 4 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4750:4: ({...}? => ( ( ( rule__UseCase__Group_3_3__0 ) ) ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4750:4: ({...}? => ( ( ( rule__UseCase__Group_3_3__0 ) ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4751:5: {...}? => ( ( ( rule__UseCase__Group_3_3__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 3) ) {
                        throw new FailedPredicateException(input, "rule__UseCase__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 3)");
                    }
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4751:104: ( ( ( rule__UseCase__Group_3_3__0 ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4752:6: ( ( rule__UseCase__Group_3_3__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 3);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4758:6: ( ( rule__UseCase__Group_3_3__0 ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4760:7: ( rule__UseCase__Group_3_3__0 )
                    {
                     before(grammarAccess.getUseCaseAccess().getGroup_3_3()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4761:7: ( rule__UseCase__Group_3_3__0 )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4761:8: rule__UseCase__Group_3_3__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__Group_3_3__0_in_rule__UseCase__UnorderedGroup_3__Impl9806);
                    rule__UseCase__Group_3_3__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getUseCaseAccess().getGroup_3_3()); 

                    }


                    }


                    }


                    }
                    break;
                case 5 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4767:4: ({...}? => ( ( ( rule__UseCase__Group_3_4__0 ) ) ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4767:4: ({...}? => ( ( ( rule__UseCase__Group_3_4__0 ) ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4768:5: {...}? => ( ( ( rule__UseCase__Group_3_4__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 4) ) {
                        throw new FailedPredicateException(input, "rule__UseCase__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 4)");
                    }
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4768:104: ( ( ( rule__UseCase__Group_3_4__0 ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4769:6: ( ( rule__UseCase__Group_3_4__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 4);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4775:6: ( ( rule__UseCase__Group_3_4__0 ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4777:7: ( rule__UseCase__Group_3_4__0 )
                    {
                     before(grammarAccess.getUseCaseAccess().getGroup_3_4()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4778:7: ( rule__UseCase__Group_3_4__0 )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4778:8: rule__UseCase__Group_3_4__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__Group_3_4__0_in_rule__UseCase__UnorderedGroup_3__Impl9897);
                    rule__UseCase__Group_3_4__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getUseCaseAccess().getGroup_3_4()); 

                    }


                    }


                    }


                    }
                    break;
                case 6 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4784:4: ({...}? => ( ( ( rule__UseCase__Group_3_5__0 ) ) ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4784:4: ({...}? => ( ( ( rule__UseCase__Group_3_5__0 ) ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4785:5: {...}? => ( ( ( rule__UseCase__Group_3_5__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 5) ) {
                        throw new FailedPredicateException(input, "rule__UseCase__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 5)");
                    }
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4785:104: ( ( ( rule__UseCase__Group_3_5__0 ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4786:6: ( ( rule__UseCase__Group_3_5__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 5);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4792:6: ( ( rule__UseCase__Group_3_5__0 ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4794:7: ( rule__UseCase__Group_3_5__0 )
                    {
                     before(grammarAccess.getUseCaseAccess().getGroup_3_5()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4795:7: ( rule__UseCase__Group_3_5__0 )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4795:8: rule__UseCase__Group_3_5__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__Group_3_5__0_in_rule__UseCase__UnorderedGroup_3__Impl9988);
                    rule__UseCase__Group_3_5__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getUseCaseAccess().getGroup_3_5()); 

                    }


                    }


                    }


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	if (selected)
            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getUseCaseAccess().getUnorderedGroup_3());
            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__UnorderedGroup_3__Impl"


    // $ANTLR start "rule__UseCase__UnorderedGroup_3__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4810:1: rule__UseCase__UnorderedGroup_3__0 : rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__1 )? ;
    public final void rule__UseCase__UnorderedGroup_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4814:1: ( rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__1 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4815:2: rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__1 )?
            {
            pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_3__Impl_in_rule__UseCase__UnorderedGroup_3__010047);
            rule__UseCase__UnorderedGroup_3__Impl();

            state._fsp--;

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4816:2: ( rule__UseCase__UnorderedGroup_3__1 )?
            int alt36=2;
            int LA36_0 = input.LA(1);

            if ( LA36_0 ==34 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 0) ) {
                alt36=1;
            }
            else if ( LA36_0 ==35 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 1) ) {
                alt36=1;
            }
            else if ( LA36_0 ==36 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 2) ) {
                alt36=1;
            }
            else if ( LA36_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 3) ) {
                alt36=1;
            }
            else if ( LA36_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 4) ) {
                alt36=1;
            }
            else if ( LA36_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 5) ) {
                alt36=1;
            }
            switch (alt36) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4816:2: rule__UseCase__UnorderedGroup_3__1
                    {
                    pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_3__1_in_rule__UseCase__UnorderedGroup_3__010050);
                    rule__UseCase__UnorderedGroup_3__1();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__UnorderedGroup_3__0"


    // $ANTLR start "rule__UseCase__UnorderedGroup_3__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4823:1: rule__UseCase__UnorderedGroup_3__1 : rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__2 )? ;
    public final void rule__UseCase__UnorderedGroup_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4827:1: ( rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__2 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4828:2: rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__2 )?
            {
            pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_3__Impl_in_rule__UseCase__UnorderedGroup_3__110075);
            rule__UseCase__UnorderedGroup_3__Impl();

            state._fsp--;

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4829:2: ( rule__UseCase__UnorderedGroup_3__2 )?
            int alt37=2;
            int LA37_0 = input.LA(1);

            if ( LA37_0 ==34 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 0) ) {
                alt37=1;
            }
            else if ( LA37_0 ==35 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 1) ) {
                alt37=1;
            }
            else if ( LA37_0 ==36 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 2) ) {
                alt37=1;
            }
            else if ( LA37_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 3) ) {
                alt37=1;
            }
            else if ( LA37_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 4) ) {
                alt37=1;
            }
            else if ( LA37_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 5) ) {
                alt37=1;
            }
            switch (alt37) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4829:2: rule__UseCase__UnorderedGroup_3__2
                    {
                    pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_3__2_in_rule__UseCase__UnorderedGroup_3__110078);
                    rule__UseCase__UnorderedGroup_3__2();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__UnorderedGroup_3__1"


    // $ANTLR start "rule__UseCase__UnorderedGroup_3__2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4836:1: rule__UseCase__UnorderedGroup_3__2 : rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__3 )? ;
    public final void rule__UseCase__UnorderedGroup_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4840:1: ( rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__3 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4841:2: rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__3 )?
            {
            pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_3__Impl_in_rule__UseCase__UnorderedGroup_3__210103);
            rule__UseCase__UnorderedGroup_3__Impl();

            state._fsp--;

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4842:2: ( rule__UseCase__UnorderedGroup_3__3 )?
            int alt38=2;
            int LA38_0 = input.LA(1);

            if ( LA38_0 ==34 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 0) ) {
                alt38=1;
            }
            else if ( LA38_0 ==35 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 1) ) {
                alt38=1;
            }
            else if ( LA38_0 ==36 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 2) ) {
                alt38=1;
            }
            else if ( LA38_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 3) ) {
                alt38=1;
            }
            else if ( LA38_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 4) ) {
                alt38=1;
            }
            else if ( LA38_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 5) ) {
                alt38=1;
            }
            switch (alt38) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4842:2: rule__UseCase__UnorderedGroup_3__3
                    {
                    pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_3__3_in_rule__UseCase__UnorderedGroup_3__210106);
                    rule__UseCase__UnorderedGroup_3__3();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__UnorderedGroup_3__2"


    // $ANTLR start "rule__UseCase__UnorderedGroup_3__3"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4849:1: rule__UseCase__UnorderedGroup_3__3 : rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__4 )? ;
    public final void rule__UseCase__UnorderedGroup_3__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4853:1: ( rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__4 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4854:2: rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__4 )?
            {
            pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_3__Impl_in_rule__UseCase__UnorderedGroup_3__310131);
            rule__UseCase__UnorderedGroup_3__Impl();

            state._fsp--;

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4855:2: ( rule__UseCase__UnorderedGroup_3__4 )?
            int alt39=2;
            int LA39_0 = input.LA(1);

            if ( LA39_0 ==34 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 0) ) {
                alt39=1;
            }
            else if ( LA39_0 ==35 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 1) ) {
                alt39=1;
            }
            else if ( LA39_0 ==36 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 2) ) {
                alt39=1;
            }
            else if ( LA39_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 3) ) {
                alt39=1;
            }
            else if ( LA39_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 4) ) {
                alt39=1;
            }
            else if ( LA39_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 5) ) {
                alt39=1;
            }
            switch (alt39) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4855:2: rule__UseCase__UnorderedGroup_3__4
                    {
                    pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_3__4_in_rule__UseCase__UnorderedGroup_3__310134);
                    rule__UseCase__UnorderedGroup_3__4();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__UnorderedGroup_3__3"


    // $ANTLR start "rule__UseCase__UnorderedGroup_3__4"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4862:1: rule__UseCase__UnorderedGroup_3__4 : rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__5 )? ;
    public final void rule__UseCase__UnorderedGroup_3__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4866:1: ( rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__5 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4867:2: rule__UseCase__UnorderedGroup_3__Impl ( rule__UseCase__UnorderedGroup_3__5 )?
            {
            pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_3__Impl_in_rule__UseCase__UnorderedGroup_3__410159);
            rule__UseCase__UnorderedGroup_3__Impl();

            state._fsp--;

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4868:2: ( rule__UseCase__UnorderedGroup_3__5 )?
            int alt40=2;
            int LA40_0 = input.LA(1);

            if ( LA40_0 ==34 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 0) ) {
                alt40=1;
            }
            else if ( LA40_0 ==35 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 1) ) {
                alt40=1;
            }
            else if ( LA40_0 ==36 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 2) ) {
                alt40=1;
            }
            else if ( LA40_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 3) ) {
                alt40=1;
            }
            else if ( LA40_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 4) ) {
                alt40=1;
            }
            else if ( LA40_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_3(), 5) ) {
                alt40=1;
            }
            switch (alt40) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4868:2: rule__UseCase__UnorderedGroup_3__5
                    {
                    pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_3__5_in_rule__UseCase__UnorderedGroup_3__410162);
                    rule__UseCase__UnorderedGroup_3__5();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__UnorderedGroup_3__4"


    // $ANTLR start "rule__UseCase__UnorderedGroup_3__5"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4875:1: rule__UseCase__UnorderedGroup_3__5 : rule__UseCase__UnorderedGroup_3__Impl ;
    public final void rule__UseCase__UnorderedGroup_3__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4879:1: ( rule__UseCase__UnorderedGroup_3__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4880:2: rule__UseCase__UnorderedGroup_3__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_3__Impl_in_rule__UseCase__UnorderedGroup_3__510187);
            rule__UseCase__UnorderedGroup_3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__UnorderedGroup_3__5"


    // $ANTLR start "rule__UseCase__UnorderedGroup_4"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4899:1: rule__UseCase__UnorderedGroup_4 : ( rule__UseCase__UnorderedGroup_4__0 )? ;
    public final void rule__UseCase__UnorderedGroup_4() throws RecognitionException {

            	int stackSize = keepStackSize();
        		getUnorderedGroupHelper().enter(grammarAccess.getUseCaseAccess().getUnorderedGroup_4());
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4904:1: ( ( rule__UseCase__UnorderedGroup_4__0 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4905:2: ( rule__UseCase__UnorderedGroup_4__0 )?
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4905:2: ( rule__UseCase__UnorderedGroup_4__0 )?
            int alt41=2;
            int LA41_0 = input.LA(1);

            if ( LA41_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 0) ) {
                alt41=1;
            }
            else if ( LA41_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 1) ) {
                alt41=1;
            }
            else if ( LA41_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 2) ) {
                alt41=1;
            }
            else if ( LA41_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 3) ) {
                alt41=1;
            }
            switch (alt41) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4905:2: rule__UseCase__UnorderedGroup_4__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_4__0_in_rule__UseCase__UnorderedGroup_410223);
                    rule__UseCase__UnorderedGroup_4__0();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	getUnorderedGroupHelper().leave(grammarAccess.getUseCaseAccess().getUnorderedGroup_4());
            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__UnorderedGroup_4"


    // $ANTLR start "rule__UseCase__UnorderedGroup_4__Impl"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4915:1: rule__UseCase__UnorderedGroup_4__Impl : ( ({...}? => ( ( ( rule__UseCase__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_4_3__0 ) ) ) ) ) ;
    public final void rule__UseCase__UnorderedGroup_4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
        		boolean selected = false;
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4920:1: ( ( ({...}? => ( ( ( rule__UseCase__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_4_3__0 ) ) ) ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4921:3: ( ({...}? => ( ( ( rule__UseCase__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_4_3__0 ) ) ) ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4921:3: ( ({...}? => ( ( ( rule__UseCase__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__UseCase__Group_4_3__0 ) ) ) ) )
            int alt42=4;
            int LA42_0 = input.LA(1);

            if ( LA42_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 0) ) {
                alt42=1;
            }
            else if ( LA42_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 1) ) {
                alt42=2;
            }
            else if ( LA42_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 2) ) {
                alt42=3;
            }
            else if ( LA42_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 3) ) {
                alt42=4;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 42, 0, input);

                throw nvae;
            }
            switch (alt42) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4923:4: ({...}? => ( ( ( rule__UseCase__Group_4_0__0 ) ) ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4923:4: ({...}? => ( ( ( rule__UseCase__Group_4_0__0 ) ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4924:5: {...}? => ( ( ( rule__UseCase__Group_4_0__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 0) ) {
                        throw new FailedPredicateException(input, "rule__UseCase__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 0)");
                    }
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4924:104: ( ( ( rule__UseCase__Group_4_0__0 ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4925:6: ( ( rule__UseCase__Group_4_0__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 0);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4931:6: ( ( rule__UseCase__Group_4_0__0 ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4933:7: ( rule__UseCase__Group_4_0__0 )
                    {
                     before(grammarAccess.getUseCaseAccess().getGroup_4_0()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4934:7: ( rule__UseCase__Group_4_0__0 )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4934:8: rule__UseCase__Group_4_0__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__Group_4_0__0_in_rule__UseCase__UnorderedGroup_4__Impl10310);
                    rule__UseCase__Group_4_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getUseCaseAccess().getGroup_4_0()); 

                    }


                    }


                    }


                    }
                    break;
                case 2 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4940:4: ({...}? => ( ( ( rule__UseCase__Group_4_1__0 ) ) ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4940:4: ({...}? => ( ( ( rule__UseCase__Group_4_1__0 ) ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4941:5: {...}? => ( ( ( rule__UseCase__Group_4_1__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 1) ) {
                        throw new FailedPredicateException(input, "rule__UseCase__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 1)");
                    }
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4941:104: ( ( ( rule__UseCase__Group_4_1__0 ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4942:6: ( ( rule__UseCase__Group_4_1__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 1);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4948:6: ( ( rule__UseCase__Group_4_1__0 ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4950:7: ( rule__UseCase__Group_4_1__0 )
                    {
                     before(grammarAccess.getUseCaseAccess().getGroup_4_1()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4951:7: ( rule__UseCase__Group_4_1__0 )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4951:8: rule__UseCase__Group_4_1__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__Group_4_1__0_in_rule__UseCase__UnorderedGroup_4__Impl10401);
                    rule__UseCase__Group_4_1__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getUseCaseAccess().getGroup_4_1()); 

                    }


                    }


                    }


                    }
                    break;
                case 3 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4957:4: ({...}? => ( ( ( rule__UseCase__Group_4_2__0 ) ) ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4957:4: ({...}? => ( ( ( rule__UseCase__Group_4_2__0 ) ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4958:5: {...}? => ( ( ( rule__UseCase__Group_4_2__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 2) ) {
                        throw new FailedPredicateException(input, "rule__UseCase__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 2)");
                    }
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4958:104: ( ( ( rule__UseCase__Group_4_2__0 ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4959:6: ( ( rule__UseCase__Group_4_2__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 2);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4965:6: ( ( rule__UseCase__Group_4_2__0 ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4967:7: ( rule__UseCase__Group_4_2__0 )
                    {
                     before(grammarAccess.getUseCaseAccess().getGroup_4_2()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4968:7: ( rule__UseCase__Group_4_2__0 )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4968:8: rule__UseCase__Group_4_2__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__Group_4_2__0_in_rule__UseCase__UnorderedGroup_4__Impl10492);
                    rule__UseCase__Group_4_2__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getUseCaseAccess().getGroup_4_2()); 

                    }


                    }


                    }


                    }
                    break;
                case 4 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4974:4: ({...}? => ( ( ( rule__UseCase__Group_4_3__0 ) ) ) )
                    {
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4974:4: ({...}? => ( ( ( rule__UseCase__Group_4_3__0 ) ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4975:5: {...}? => ( ( ( rule__UseCase__Group_4_3__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 3) ) {
                        throw new FailedPredicateException(input, "rule__UseCase__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 3)");
                    }
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4975:104: ( ( ( rule__UseCase__Group_4_3__0 ) ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4976:6: ( ( rule__UseCase__Group_4_3__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 3);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4982:6: ( ( rule__UseCase__Group_4_3__0 ) )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4984:7: ( rule__UseCase__Group_4_3__0 )
                    {
                     before(grammarAccess.getUseCaseAccess().getGroup_4_3()); 
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4985:7: ( rule__UseCase__Group_4_3__0 )
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:4985:8: rule__UseCase__Group_4_3__0
                    {
                    pushFollow(FOLLOW_rule__UseCase__Group_4_3__0_in_rule__UseCase__UnorderedGroup_4__Impl10583);
                    rule__UseCase__Group_4_3__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getUseCaseAccess().getGroup_4_3()); 

                    }


                    }


                    }


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	if (selected)
            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getUseCaseAccess().getUnorderedGroup_4());
            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__UnorderedGroup_4__Impl"


    // $ANTLR start "rule__UseCase__UnorderedGroup_4__0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5000:1: rule__UseCase__UnorderedGroup_4__0 : rule__UseCase__UnorderedGroup_4__Impl ( rule__UseCase__UnorderedGroup_4__1 )? ;
    public final void rule__UseCase__UnorderedGroup_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5004:1: ( rule__UseCase__UnorderedGroup_4__Impl ( rule__UseCase__UnorderedGroup_4__1 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5005:2: rule__UseCase__UnorderedGroup_4__Impl ( rule__UseCase__UnorderedGroup_4__1 )?
            {
            pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_4__Impl_in_rule__UseCase__UnorderedGroup_4__010642);
            rule__UseCase__UnorderedGroup_4__Impl();

            state._fsp--;

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5006:2: ( rule__UseCase__UnorderedGroup_4__1 )?
            int alt43=2;
            int LA43_0 = input.LA(1);

            if ( LA43_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 0) ) {
                alt43=1;
            }
            else if ( LA43_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 1) ) {
                alt43=1;
            }
            else if ( LA43_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 2) ) {
                alt43=1;
            }
            else if ( LA43_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 3) ) {
                alt43=1;
            }
            switch (alt43) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5006:2: rule__UseCase__UnorderedGroup_4__1
                    {
                    pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_4__1_in_rule__UseCase__UnorderedGroup_4__010645);
                    rule__UseCase__UnorderedGroup_4__1();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__UnorderedGroup_4__0"


    // $ANTLR start "rule__UseCase__UnorderedGroup_4__1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5013:1: rule__UseCase__UnorderedGroup_4__1 : rule__UseCase__UnorderedGroup_4__Impl ( rule__UseCase__UnorderedGroup_4__2 )? ;
    public final void rule__UseCase__UnorderedGroup_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5017:1: ( rule__UseCase__UnorderedGroup_4__Impl ( rule__UseCase__UnorderedGroup_4__2 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5018:2: rule__UseCase__UnorderedGroup_4__Impl ( rule__UseCase__UnorderedGroup_4__2 )?
            {
            pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_4__Impl_in_rule__UseCase__UnorderedGroup_4__110670);
            rule__UseCase__UnorderedGroup_4__Impl();

            state._fsp--;

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5019:2: ( rule__UseCase__UnorderedGroup_4__2 )?
            int alt44=2;
            int LA44_0 = input.LA(1);

            if ( LA44_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 0) ) {
                alt44=1;
            }
            else if ( LA44_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 1) ) {
                alt44=1;
            }
            else if ( LA44_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 2) ) {
                alt44=1;
            }
            else if ( LA44_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 3) ) {
                alt44=1;
            }
            switch (alt44) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5019:2: rule__UseCase__UnorderedGroup_4__2
                    {
                    pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_4__2_in_rule__UseCase__UnorderedGroup_4__110673);
                    rule__UseCase__UnorderedGroup_4__2();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__UnorderedGroup_4__1"


    // $ANTLR start "rule__UseCase__UnorderedGroup_4__2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5026:1: rule__UseCase__UnorderedGroup_4__2 : rule__UseCase__UnorderedGroup_4__Impl ( rule__UseCase__UnorderedGroup_4__3 )? ;
    public final void rule__UseCase__UnorderedGroup_4__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5030:1: ( rule__UseCase__UnorderedGroup_4__Impl ( rule__UseCase__UnorderedGroup_4__3 )? )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5031:2: rule__UseCase__UnorderedGroup_4__Impl ( rule__UseCase__UnorderedGroup_4__3 )?
            {
            pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_4__Impl_in_rule__UseCase__UnorderedGroup_4__210698);
            rule__UseCase__UnorderedGroup_4__Impl();

            state._fsp--;

            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5032:2: ( rule__UseCase__UnorderedGroup_4__3 )?
            int alt45=2;
            int LA45_0 = input.LA(1);

            if ( LA45_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 0) ) {
                alt45=1;
            }
            else if ( LA45_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 1) ) {
                alt45=1;
            }
            else if ( LA45_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 2) ) {
                alt45=1;
            }
            else if ( LA45_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getUseCaseAccess().getUnorderedGroup_4(), 3) ) {
                alt45=1;
            }
            switch (alt45) {
                case 1 :
                    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5032:2: rule__UseCase__UnorderedGroup_4__3
                    {
                    pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_4__3_in_rule__UseCase__UnorderedGroup_4__210701);
                    rule__UseCase__UnorderedGroup_4__3();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__UnorderedGroup_4__2"


    // $ANTLR start "rule__UseCase__UnorderedGroup_4__3"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5039:1: rule__UseCase__UnorderedGroup_4__3 : rule__UseCase__UnorderedGroup_4__Impl ;
    public final void rule__UseCase__UnorderedGroup_4__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5043:1: ( rule__UseCase__UnorderedGroup_4__Impl )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5044:2: rule__UseCase__UnorderedGroup_4__Impl
            {
            pushFollow(FOLLOW_rule__UseCase__UnorderedGroup_4__Impl_in_rule__UseCase__UnorderedGroup_4__310726);
            rule__UseCase__UnorderedGroup_4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__UnorderedGroup_4__3"


    // $ANTLR start "rule__Model__ImportsAssignment_0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5059:1: rule__Model__ImportsAssignment_0 : ( ruleImport ) ;
    public final void rule__Model__ImportsAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5063:1: ( ( ruleImport ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5064:1: ( ruleImport )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5064:1: ( ruleImport )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5065:1: ruleImport
            {
             before(grammarAccess.getModelAccess().getImportsImportParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleImport_in_rule__Model__ImportsAssignment_010762);
            ruleImport();

            state._fsp--;

             after(grammarAccess.getModelAccess().getImportsImportParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__ImportsAssignment_0"


    // $ANTLR start "rule__Model__PackageAssignment_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5074:1: rule__Model__PackageAssignment_1 : ( rulePackage ) ;
    public final void rule__Model__PackageAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5078:1: ( ( rulePackage ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5079:1: ( rulePackage )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5079:1: ( rulePackage )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5080:1: rulePackage
            {
             before(grammarAccess.getModelAccess().getPackagePackageParserRuleCall_1_0()); 
            pushFollow(FOLLOW_rulePackage_in_rule__Model__PackageAssignment_110793);
            rulePackage();

            state._fsp--;

             after(grammarAccess.getModelAccess().getPackagePackageParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__PackageAssignment_1"


    // $ANTLR start "rule__Package__NameAssignment_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5089:1: rule__Package__NameAssignment_1 : ( ruleQualifiedName ) ;
    public final void rule__Package__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5093:1: ( ( ruleQualifiedName ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5094:1: ( ruleQualifiedName )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5094:1: ( ruleQualifiedName )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5095:1: ruleQualifiedName
            {
             before(grammarAccess.getPackageAccess().getNameQualifiedNameParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__Package__NameAssignment_110824);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getPackageAccess().getNameQualifiedNameParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Package__NameAssignment_1"


    // $ANTLR start "rule__Package__UsecasesAssignment_3"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5104:1: rule__Package__UsecasesAssignment_3 : ( ruleUseCase ) ;
    public final void rule__Package__UsecasesAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5108:1: ( ( ruleUseCase ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5109:1: ( ruleUseCase )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5109:1: ( ruleUseCase )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5110:1: ruleUseCase
            {
             before(grammarAccess.getPackageAccess().getUsecasesUseCaseParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleUseCase_in_rule__Package__UsecasesAssignment_310855);
            ruleUseCase();

            state._fsp--;

             after(grammarAccess.getPackageAccess().getUsecasesUseCaseParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Package__UsecasesAssignment_3"


    // $ANTLR start "rule__UseCase__NameAssignment_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5119:1: rule__UseCase__NameAssignment_1 : ( ruleNAME ) ;
    public final void rule__UseCase__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5123:1: ( ( ruleNAME ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5124:1: ( ruleNAME )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5124:1: ( ruleNAME )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5125:1: ruleNAME
            {
             before(grammarAccess.getUseCaseAccess().getNameNAMEParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleNAME_in_rule__UseCase__NameAssignment_110886);
            ruleNAME();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getNameNAMEParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__NameAssignment_1"


    // $ANTLR start "rule__UseCase__DescriptionAssignment_2_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5134:1: rule__UseCase__DescriptionAssignment_2_1 : ( rulePlainText ) ;
    public final void rule__UseCase__DescriptionAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5138:1: ( ( rulePlainText ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5139:1: ( rulePlainText )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5139:1: ( rulePlainText )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5140:1: rulePlainText
            {
             before(grammarAccess.getUseCaseAccess().getDescriptionPlainTextParserRuleCall_2_1_0()); 
            pushFollow(FOLLOW_rulePlainText_in_rule__UseCase__DescriptionAssignment_2_110917);
            rulePlainText();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getDescriptionPlainTextParserRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__DescriptionAssignment_2_1"


    // $ANTLR start "rule__UseCase__ScopeAssignment_3_0_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5149:1: rule__UseCase__ScopeAssignment_3_0_1 : ( ruleScope ) ;
    public final void rule__UseCase__ScopeAssignment_3_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5153:1: ( ( ruleScope ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5154:1: ( ruleScope )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5154:1: ( ruleScope )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5155:1: ruleScope
            {
             before(grammarAccess.getUseCaseAccess().getScopeScopeParserRuleCall_3_0_1_0()); 
            pushFollow(FOLLOW_ruleScope_in_rule__UseCase__ScopeAssignment_3_0_110948);
            ruleScope();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getScopeScopeParserRuleCall_3_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__ScopeAssignment_3_0_1"


    // $ANTLR start "rule__UseCase__LevelAssignment_3_1_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5164:1: rule__UseCase__LevelAssignment_3_1_1 : ( ruleLevel ) ;
    public final void rule__UseCase__LevelAssignment_3_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5168:1: ( ( ruleLevel ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5169:1: ( ruleLevel )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5169:1: ( ruleLevel )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5170:1: ruleLevel
            {
             before(grammarAccess.getUseCaseAccess().getLevelLevelEnumRuleCall_3_1_1_0()); 
            pushFollow(FOLLOW_ruleLevel_in_rule__UseCase__LevelAssignment_3_1_110979);
            ruleLevel();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getLevelLevelEnumRuleCall_3_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__LevelAssignment_3_1_1"


    // $ANTLR start "rule__UseCase__PrimaryActorAssignment_3_2_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5179:1: rule__UseCase__PrimaryActorAssignment_3_2_1 : ( ruleActor ) ;
    public final void rule__UseCase__PrimaryActorAssignment_3_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5183:1: ( ( ruleActor ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5184:1: ( ruleActor )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5184:1: ( ruleActor )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5185:1: ruleActor
            {
             before(grammarAccess.getUseCaseAccess().getPrimaryActorActorParserRuleCall_3_2_1_0()); 
            pushFollow(FOLLOW_ruleActor_in_rule__UseCase__PrimaryActorAssignment_3_2_111010);
            ruleActor();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getPrimaryActorActorParserRuleCall_3_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__PrimaryActorAssignment_3_2_1"


    // $ANTLR start "rule__UseCase__SecondaryActorsAssignment_3_3_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5194:1: rule__UseCase__SecondaryActorsAssignment_3_3_1 : ( ruleActor ) ;
    public final void rule__UseCase__SecondaryActorsAssignment_3_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5198:1: ( ( ruleActor ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5199:1: ( ruleActor )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5199:1: ( ruleActor )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5200:1: ruleActor
            {
             before(grammarAccess.getUseCaseAccess().getSecondaryActorsActorParserRuleCall_3_3_1_0()); 
            pushFollow(FOLLOW_ruleActor_in_rule__UseCase__SecondaryActorsAssignment_3_3_111041);
            ruleActor();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getSecondaryActorsActorParserRuleCall_3_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__SecondaryActorsAssignment_3_3_1"


    // $ANTLR start "rule__UseCase__TertiaryActorsAssignment_3_4_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5209:1: rule__UseCase__TertiaryActorsAssignment_3_4_1 : ( ruleActor ) ;
    public final void rule__UseCase__TertiaryActorsAssignment_3_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5213:1: ( ( ruleActor ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5214:1: ( ruleActor )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5214:1: ( ruleActor )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5215:1: ruleActor
            {
             before(grammarAccess.getUseCaseAccess().getTertiaryActorsActorParserRuleCall_3_4_1_0()); 
            pushFollow(FOLLOW_ruleActor_in_rule__UseCase__TertiaryActorsAssignment_3_4_111072);
            ruleActor();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getTertiaryActorsActorParserRuleCall_3_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__TertiaryActorsAssignment_3_4_1"


    // $ANTLR start "rule__UseCase__InterestsAssignment_3_5_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5224:1: rule__UseCase__InterestsAssignment_3_5_1 : ( ruleInterest ) ;
    public final void rule__UseCase__InterestsAssignment_3_5_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5228:1: ( ( ruleInterest ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5229:1: ( ruleInterest )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5229:1: ( ruleInterest )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5230:1: ruleInterest
            {
             before(grammarAccess.getUseCaseAccess().getInterestsInterestParserRuleCall_3_5_1_0()); 
            pushFollow(FOLLOW_ruleInterest_in_rule__UseCase__InterestsAssignment_3_5_111103);
            ruleInterest();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getInterestsInterestParserRuleCall_3_5_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__InterestsAssignment_3_5_1"


    // $ANTLR start "rule__UseCase__PreconditionsAssignment_4_0_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5239:1: rule__UseCase__PreconditionsAssignment_4_0_1 : ( ruleCondition ) ;
    public final void rule__UseCase__PreconditionsAssignment_4_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5243:1: ( ( ruleCondition ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5244:1: ( ruleCondition )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5244:1: ( ruleCondition )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5245:1: ruleCondition
            {
             before(grammarAccess.getUseCaseAccess().getPreconditionsConditionParserRuleCall_4_0_1_0()); 
            pushFollow(FOLLOW_ruleCondition_in_rule__UseCase__PreconditionsAssignment_4_0_111134);
            ruleCondition();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getPreconditionsConditionParserRuleCall_4_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__PreconditionsAssignment_4_0_1"


    // $ANTLR start "rule__UseCase__PostconditionsAssignment_4_1_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5254:1: rule__UseCase__PostconditionsAssignment_4_1_1 : ( ruleCondition ) ;
    public final void rule__UseCase__PostconditionsAssignment_4_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5258:1: ( ( ruleCondition ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5259:1: ( ruleCondition )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5259:1: ( ruleCondition )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5260:1: ruleCondition
            {
             before(grammarAccess.getUseCaseAccess().getPostconditionsConditionParserRuleCall_4_1_1_0()); 
            pushFollow(FOLLOW_ruleCondition_in_rule__UseCase__PostconditionsAssignment_4_1_111165);
            ruleCondition();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getPostconditionsConditionParserRuleCall_4_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__PostconditionsAssignment_4_1_1"


    // $ANTLR start "rule__UseCase__InvariantsAssignment_4_2_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5269:1: rule__UseCase__InvariantsAssignment_4_2_1 : ( ruleCondition ) ;
    public final void rule__UseCase__InvariantsAssignment_4_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5273:1: ( ( ruleCondition ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5274:1: ( ruleCondition )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5274:1: ( ruleCondition )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5275:1: ruleCondition
            {
             before(grammarAccess.getUseCaseAccess().getInvariantsConditionParserRuleCall_4_2_1_0()); 
            pushFollow(FOLLOW_ruleCondition_in_rule__UseCase__InvariantsAssignment_4_2_111196);
            ruleCondition();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getInvariantsConditionParserRuleCall_4_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__InvariantsAssignment_4_2_1"


    // $ANTLR start "rule__UseCase__TriggerAssignment_4_3_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5284:1: rule__UseCase__TriggerAssignment_4_3_1 : ( ruleTrigger ) ;
    public final void rule__UseCase__TriggerAssignment_4_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5288:1: ( ( ruleTrigger ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5289:1: ( ruleTrigger )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5289:1: ( ruleTrigger )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5290:1: ruleTrigger
            {
             before(grammarAccess.getUseCaseAccess().getTriggerTriggerParserRuleCall_4_3_1_0()); 
            pushFollow(FOLLOW_ruleTrigger_in_rule__UseCase__TriggerAssignment_4_3_111227);
            ruleTrigger();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getTriggerTriggerParserRuleCall_4_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__TriggerAssignment_4_3_1"


    // $ANTLR start "rule__UseCase__StepsAssignment_6"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5299:1: rule__UseCase__StepsAssignment_6 : ( ruleActionStep ) ;
    public final void rule__UseCase__StepsAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5303:1: ( ( ruleActionStep ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5304:1: ( ruleActionStep )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5304:1: ( ruleActionStep )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5305:1: ruleActionStep
            {
             before(grammarAccess.getUseCaseAccess().getStepsActionStepParserRuleCall_6_0()); 
            pushFollow(FOLLOW_ruleActionStep_in_rule__UseCase__StepsAssignment_611258);
            ruleActionStep();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getStepsActionStepParserRuleCall_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__StepsAssignment_6"


    // $ANTLR start "rule__UseCase__ExtensionsAssignment_7_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5314:1: rule__UseCase__ExtensionsAssignment_7_1 : ( ruleExtension ) ;
    public final void rule__UseCase__ExtensionsAssignment_7_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5318:1: ( ( ruleExtension ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5319:1: ( ruleExtension )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5319:1: ( ruleExtension )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5320:1: ruleExtension
            {
             before(grammarAccess.getUseCaseAccess().getExtensionsExtensionParserRuleCall_7_1_0()); 
            pushFollow(FOLLOW_ruleExtension_in_rule__UseCase__ExtensionsAssignment_7_111289);
            ruleExtension();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getExtensionsExtensionParserRuleCall_7_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__ExtensionsAssignment_7_1"


    // $ANTLR start "rule__UseCase__VariantsAssignment_8_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5329:1: rule__UseCase__VariantsAssignment_8_1 : ( ruleVariant ) ;
    public final void rule__UseCase__VariantsAssignment_8_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5333:1: ( ( ruleVariant ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5334:1: ( ruleVariant )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5334:1: ( ruleVariant )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5335:1: ruleVariant
            {
             before(grammarAccess.getUseCaseAccess().getVariantsVariantParserRuleCall_8_1_0()); 
            pushFollow(FOLLOW_ruleVariant_in_rule__UseCase__VariantsAssignment_8_111320);
            ruleVariant();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getVariantsVariantParserRuleCall_8_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__VariantsAssignment_8_1"


    // $ANTLR start "rule__UseCase__IssuesAssignment_9_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5344:1: rule__UseCase__IssuesAssignment_9_1 : ( ruleIssue ) ;
    public final void rule__UseCase__IssuesAssignment_9_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5348:1: ( ( ruleIssue ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5349:1: ( ruleIssue )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5349:1: ( ruleIssue )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5350:1: ruleIssue
            {
             before(grammarAccess.getUseCaseAccess().getIssuesIssueParserRuleCall_9_1_0()); 
            pushFollow(FOLLOW_ruleIssue_in_rule__UseCase__IssuesAssignment_9_111351);
            ruleIssue();

            state._fsp--;

             after(grammarAccess.getUseCaseAccess().getIssuesIssueParserRuleCall_9_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UseCase__IssuesAssignment_9_1"


    // $ANTLR start "rule__Scope__VisibilityAssignment_0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5359:1: rule__Scope__VisibilityAssignment_0 : ( ruleVisibility ) ;
    public final void rule__Scope__VisibilityAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5363:1: ( ( ruleVisibility ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5364:1: ( ruleVisibility )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5364:1: ( ruleVisibility )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5365:1: ruleVisibility
            {
             before(grammarAccess.getScopeAccess().getVisibilityVisibilityEnumRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleVisibility_in_rule__Scope__VisibilityAssignment_011382);
            ruleVisibility();

            state._fsp--;

             after(grammarAccess.getScopeAccess().getVisibilityVisibilityEnumRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scope__VisibilityAssignment_0"


    // $ANTLR start "rule__Scope__TypeAssignment_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5374:1: rule__Scope__TypeAssignment_1 : ( ruleScopeType ) ;
    public final void rule__Scope__TypeAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5378:1: ( ( ruleScopeType ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5379:1: ( ruleScopeType )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5379:1: ( ruleScopeType )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5380:1: ruleScopeType
            {
             before(grammarAccess.getScopeAccess().getTypeScopeTypeEnumRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleScopeType_in_rule__Scope__TypeAssignment_111413);
            ruleScopeType();

            state._fsp--;

             after(grammarAccess.getScopeAccess().getTypeScopeTypeEnumRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scope__TypeAssignment_1"


    // $ANTLR start "rule__Scope__InternalActorAssignment_2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5389:1: rule__Scope__InternalActorAssignment_2 : ( ruleActor ) ;
    public final void rule__Scope__InternalActorAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5393:1: ( ( ruleActor ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5394:1: ( ruleActor )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5394:1: ( ruleActor )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5395:1: ruleActor
            {
             before(grammarAccess.getScopeAccess().getInternalActorActorParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleActor_in_rule__Scope__InternalActorAssignment_211444);
            ruleActor();

            state._fsp--;

             after(grammarAccess.getScopeAccess().getInternalActorActorParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Scope__InternalActorAssignment_2"


    // $ANTLR start "rule__Actor__NameAssignment_0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5404:1: rule__Actor__NameAssignment_0 : ( ruleNAME ) ;
    public final void rule__Actor__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5408:1: ( ( ruleNAME ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5409:1: ( ruleNAME )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5409:1: ( ruleNAME )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5410:1: ruleNAME
            {
             before(grammarAccess.getActorAccess().getNameNAMEParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleNAME_in_rule__Actor__NameAssignment_011475);
            ruleNAME();

            state._fsp--;

             after(grammarAccess.getActorAccess().getNameNAMEParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Actor__NameAssignment_0"


    // $ANTLR start "rule__Actor__DescriptionAssignment_1_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5419:1: rule__Actor__DescriptionAssignment_1_1 : ( rulePlainText ) ;
    public final void rule__Actor__DescriptionAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5423:1: ( ( rulePlainText ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5424:1: ( rulePlainText )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5424:1: ( rulePlainText )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5425:1: rulePlainText
            {
             before(grammarAccess.getActorAccess().getDescriptionPlainTextParserRuleCall_1_1_0()); 
            pushFollow(FOLLOW_rulePlainText_in_rule__Actor__DescriptionAssignment_1_111506);
            rulePlainText();

            state._fsp--;

             after(grammarAccess.getActorAccess().getDescriptionPlainTextParserRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Actor__DescriptionAssignment_1_1"


    // $ANTLR start "rule__Interest__StakeholderAssignment_0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5434:1: rule__Interest__StakeholderAssignment_0 : ( ( ruleNAME ) ) ;
    public final void rule__Interest__StakeholderAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5438:1: ( ( ( ruleNAME ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5439:1: ( ( ruleNAME ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5439:1: ( ( ruleNAME ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5440:1: ( ruleNAME )
            {
             before(grammarAccess.getInterestAccess().getStakeholderActorCrossReference_0_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5441:1: ( ruleNAME )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5442:1: ruleNAME
            {
             before(grammarAccess.getInterestAccess().getStakeholderActorNAMEParserRuleCall_0_0_1()); 
            pushFollow(FOLLOW_ruleNAME_in_rule__Interest__StakeholderAssignment_011541);
            ruleNAME();

            state._fsp--;

             after(grammarAccess.getInterestAccess().getStakeholderActorNAMEParserRuleCall_0_0_1()); 

            }

             after(grammarAccess.getInterestAccess().getStakeholderActorCrossReference_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interest__StakeholderAssignment_0"


    // $ANTLR start "rule__Interest__DescriptionAssignment_2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5453:1: rule__Interest__DescriptionAssignment_2 : ( rulePlainText ) ;
    public final void rule__Interest__DescriptionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5457:1: ( ( rulePlainText ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5458:1: ( rulePlainText )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5458:1: ( rulePlainText )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5459:1: rulePlainText
            {
             before(grammarAccess.getInterestAccess().getDescriptionPlainTextParserRuleCall_2_0()); 
            pushFollow(FOLLOW_rulePlainText_in_rule__Interest__DescriptionAssignment_211576);
            rulePlainText();

            state._fsp--;

             after(grammarAccess.getInterestAccess().getDescriptionPlainTextParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interest__DescriptionAssignment_2"


    // $ANTLR start "rule__State__NameAssignment"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5468:1: rule__State__NameAssignment : ( rulePlainText ) ;
    public final void rule__State__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5472:1: ( ( rulePlainText ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5473:1: ( rulePlainText )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5473:1: ( rulePlainText )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5474:1: rulePlainText
            {
             before(grammarAccess.getStateAccess().getNamePlainTextParserRuleCall_0()); 
            pushFollow(FOLLOW_rulePlainText_in_rule__State__NameAssignment11607);
            rulePlainText();

            state._fsp--;

             after(grammarAccess.getStateAccess().getNamePlainTextParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__NameAssignment"


    // $ANTLR start "rule__Condition__ActorAssignment_0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5483:1: rule__Condition__ActorAssignment_0 : ( ( ruleNAME ) ) ;
    public final void rule__Condition__ActorAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5487:1: ( ( ( ruleNAME ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5488:1: ( ( ruleNAME ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5488:1: ( ( ruleNAME ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5489:1: ( ruleNAME )
            {
             before(grammarAccess.getConditionAccess().getActorActorCrossReference_0_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5490:1: ( ruleNAME )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5491:1: ruleNAME
            {
             before(grammarAccess.getConditionAccess().getActorActorNAMEParserRuleCall_0_0_1()); 
            pushFollow(FOLLOW_ruleNAME_in_rule__Condition__ActorAssignment_011642);
            ruleNAME();

            state._fsp--;

             after(grammarAccess.getConditionAccess().getActorActorNAMEParserRuleCall_0_0_1()); 

            }

             after(grammarAccess.getConditionAccess().getActorActorCrossReference_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Condition__ActorAssignment_0"


    // $ANTLR start "rule__Condition__DescriptionAssignment_2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5502:1: rule__Condition__DescriptionAssignment_2 : ( ruleState ) ;
    public final void rule__Condition__DescriptionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5506:1: ( ( ruleState ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5507:1: ( ruleState )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5507:1: ( ruleState )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5508:1: ruleState
            {
             before(grammarAccess.getConditionAccess().getDescriptionStateParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleState_in_rule__Condition__DescriptionAssignment_211677);
            ruleState();

            state._fsp--;

             after(grammarAccess.getConditionAccess().getDescriptionStateParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Condition__DescriptionAssignment_2"


    // $ANTLR start "rule__Trigger__ActorAssignment_0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5517:1: rule__Trigger__ActorAssignment_0 : ( ( ruleNAME ) ) ;
    public final void rule__Trigger__ActorAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5521:1: ( ( ( ruleNAME ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5522:1: ( ( ruleNAME ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5522:1: ( ( ruleNAME ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5523:1: ( ruleNAME )
            {
             before(grammarAccess.getTriggerAccess().getActorActorCrossReference_0_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5524:1: ( ruleNAME )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5525:1: ruleNAME
            {
             before(grammarAccess.getTriggerAccess().getActorActorNAMEParserRuleCall_0_0_1()); 
            pushFollow(FOLLOW_ruleNAME_in_rule__Trigger__ActorAssignment_011712);
            ruleNAME();

            state._fsp--;

             after(grammarAccess.getTriggerAccess().getActorActorNAMEParserRuleCall_0_0_1()); 

            }

             after(grammarAccess.getTriggerAccess().getActorActorCrossReference_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Trigger__ActorAssignment_0"


    // $ANTLR start "rule__Trigger__ActionAssignment_2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5536:1: rule__Trigger__ActionAssignment_2 : ( ruleAction ) ;
    public final void rule__Trigger__ActionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5540:1: ( ( ruleAction ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5541:1: ( ruleAction )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5541:1: ( ruleAction )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5542:1: ruleAction
            {
             before(grammarAccess.getTriggerAccess().getActionActionParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleAction_in_rule__Trigger__ActionAssignment_211747);
            ruleAction();

            state._fsp--;

             after(grammarAccess.getTriggerAccess().getActionActionParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Trigger__ActionAssignment_2"


    // $ANTLR start "rule__ActionStep__NameAssignment_0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5551:1: rule__ActionStep__NameAssignment_0 : ( ruleORD ) ;
    public final void rule__ActionStep__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5555:1: ( ( ruleORD ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5556:1: ( ruleORD )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5556:1: ( ruleORD )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5557:1: ruleORD
            {
             before(grammarAccess.getActionStepAccess().getNameORDParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleORD_in_rule__ActionStep__NameAssignment_011778);
            ruleORD();

            state._fsp--;

             after(grammarAccess.getActionStepAccess().getNameORDParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ActionStep__NameAssignment_0"


    // $ANTLR start "rule__ActionStep__ActorAssignment_2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5566:1: rule__ActionStep__ActorAssignment_2 : ( ( ruleNAME ) ) ;
    public final void rule__ActionStep__ActorAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5570:1: ( ( ( ruleNAME ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5571:1: ( ( ruleNAME ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5571:1: ( ( ruleNAME ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5572:1: ( ruleNAME )
            {
             before(grammarAccess.getActionStepAccess().getActorActorCrossReference_2_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5573:1: ( ruleNAME )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5574:1: ruleNAME
            {
             before(grammarAccess.getActionStepAccess().getActorActorNAMEParserRuleCall_2_0_1()); 
            pushFollow(FOLLOW_ruleNAME_in_rule__ActionStep__ActorAssignment_211813);
            ruleNAME();

            state._fsp--;

             after(grammarAccess.getActionStepAccess().getActorActorNAMEParserRuleCall_2_0_1()); 

            }

             after(grammarAccess.getActionStepAccess().getActorActorCrossReference_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ActionStep__ActorAssignment_2"


    // $ANTLR start "rule__ActionStep__ActionAssignment_4"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5585:1: rule__ActionStep__ActionAssignment_4 : ( ruleAction ) ;
    public final void rule__ActionStep__ActionAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5589:1: ( ( ruleAction ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5590:1: ( ruleAction )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5590:1: ( ruleAction )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5591:1: ruleAction
            {
             before(grammarAccess.getActionStepAccess().getActionActionParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleAction_in_rule__ActionStep__ActionAssignment_411848);
            ruleAction();

            state._fsp--;

             after(grammarAccess.getActionStepAccess().getActionActionParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ActionStep__ActionAssignment_4"


    // $ANTLR start "rule__AnyAction__DescriptionAssignment"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5600:1: rule__AnyAction__DescriptionAssignment : ( rulePlainText ) ;
    public final void rule__AnyAction__DescriptionAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5604:1: ( ( rulePlainText ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5605:1: ( rulePlainText )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5605:1: ( rulePlainText )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5606:1: rulePlainText
            {
             before(grammarAccess.getAnyActionAccess().getDescriptionPlainTextParserRuleCall_0()); 
            pushFollow(FOLLOW_rulePlainText_in_rule__AnyAction__DescriptionAssignment11879);
            rulePlainText();

            state._fsp--;

             after(grammarAccess.getAnyActionAccess().getDescriptionPlainTextParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AnyAction__DescriptionAssignment"


    // $ANTLR start "rule__SubGoal__IncludeUseCaseAssignment"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5615:1: rule__SubGoal__IncludeUseCaseAssignment : ( ( ruleNAME ) ) ;
    public final void rule__SubGoal__IncludeUseCaseAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5619:1: ( ( ( ruleNAME ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5620:1: ( ( ruleNAME ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5620:1: ( ( ruleNAME ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5621:1: ( ruleNAME )
            {
             before(grammarAccess.getSubGoalAccess().getIncludeUseCaseUseCaseCrossReference_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5622:1: ( ruleNAME )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5623:1: ruleNAME
            {
             before(grammarAccess.getSubGoalAccess().getIncludeUseCaseUseCaseNAMEParserRuleCall_0_1()); 
            pushFollow(FOLLOW_ruleNAME_in_rule__SubGoal__IncludeUseCaseAssignment11914);
            ruleNAME();

            state._fsp--;

             after(grammarAccess.getSubGoalAccess().getIncludeUseCaseUseCaseNAMEParserRuleCall_0_1()); 

            }

             after(grammarAccess.getSubGoalAccess().getIncludeUseCaseUseCaseCrossReference_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SubGoal__IncludeUseCaseAssignment"


    // $ANTLR start "rule__Interaction__DescriptionAssignment_0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5634:1: rule__Interaction__DescriptionAssignment_0 : ( rulePlainText ) ;
    public final void rule__Interaction__DescriptionAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5638:1: ( ( rulePlainText ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5639:1: ( rulePlainText )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5639:1: ( rulePlainText )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5640:1: rulePlainText
            {
             before(grammarAccess.getInteractionAccess().getDescriptionPlainTextParserRuleCall_0_0()); 
            pushFollow(FOLLOW_rulePlainText_in_rule__Interaction__DescriptionAssignment_011949);
            rulePlainText();

            state._fsp--;

             after(grammarAccess.getInteractionAccess().getDescriptionPlainTextParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interaction__DescriptionAssignment_0"


    // $ANTLR start "rule__Interaction__SubjectAssignment_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5649:1: rule__Interaction__SubjectAssignment_1 : ( ( ruleNAME ) ) ;
    public final void rule__Interaction__SubjectAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5653:1: ( ( ( ruleNAME ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5654:1: ( ( ruleNAME ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5654:1: ( ( ruleNAME ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5655:1: ( ruleNAME )
            {
             before(grammarAccess.getInteractionAccess().getSubjectDataCrossReference_1_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5656:1: ( ruleNAME )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5657:1: ruleNAME
            {
             before(grammarAccess.getInteractionAccess().getSubjectDataNAMEParserRuleCall_1_0_1()); 
            pushFollow(FOLLOW_ruleNAME_in_rule__Interaction__SubjectAssignment_111984);
            ruleNAME();

            state._fsp--;

             after(grammarAccess.getInteractionAccess().getSubjectDataNAMEParserRuleCall_1_0_1()); 

            }

             after(grammarAccess.getInteractionAccess().getSubjectDataCrossReference_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interaction__SubjectAssignment_1"


    // $ANTLR start "rule__SingleStepSelector__StepAssignment"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5668:1: rule__SingleStepSelector__StepAssignment : ( ( ruleORD ) ) ;
    public final void rule__SingleStepSelector__StepAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5672:1: ( ( ( ruleORD ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5673:1: ( ( ruleORD ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5673:1: ( ( ruleORD ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5674:1: ( ruleORD )
            {
             before(grammarAccess.getSingleStepSelectorAccess().getStepActionStepCrossReference_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5675:1: ( ruleORD )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5676:1: ruleORD
            {
             before(grammarAccess.getSingleStepSelectorAccess().getStepActionStepORDParserRuleCall_0_1()); 
            pushFollow(FOLLOW_ruleORD_in_rule__SingleStepSelector__StepAssignment12023);
            ruleORD();

            state._fsp--;

             after(grammarAccess.getSingleStepSelectorAccess().getStepActionStepORDParserRuleCall_0_1()); 

            }

             after(grammarAccess.getSingleStepSelectorAccess().getStepActionStepCrossReference_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SingleStepSelector__StepAssignment"


    // $ANTLR start "rule__StepRangeSelector__FromAssignment_0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5687:1: rule__StepRangeSelector__FromAssignment_0 : ( ( ruleORD ) ) ;
    public final void rule__StepRangeSelector__FromAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5691:1: ( ( ( ruleORD ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5692:1: ( ( ruleORD ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5692:1: ( ( ruleORD ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5693:1: ( ruleORD )
            {
             before(grammarAccess.getStepRangeSelectorAccess().getFromActionStepCrossReference_0_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5694:1: ( ruleORD )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5695:1: ruleORD
            {
             before(grammarAccess.getStepRangeSelectorAccess().getFromActionStepORDParserRuleCall_0_0_1()); 
            pushFollow(FOLLOW_ruleORD_in_rule__StepRangeSelector__FromAssignment_012062);
            ruleORD();

            state._fsp--;

             after(grammarAccess.getStepRangeSelectorAccess().getFromActionStepORDParserRuleCall_0_0_1()); 

            }

             after(grammarAccess.getStepRangeSelectorAccess().getFromActionStepCrossReference_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepRangeSelector__FromAssignment_0"


    // $ANTLR start "rule__StepRangeSelector__ToAssignment_2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5706:1: rule__StepRangeSelector__ToAssignment_2 : ( ( ruleORD ) ) ;
    public final void rule__StepRangeSelector__ToAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5710:1: ( ( ( ruleORD ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5711:1: ( ( ruleORD ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5711:1: ( ( ruleORD ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5712:1: ( ruleORD )
            {
             before(grammarAccess.getStepRangeSelectorAccess().getToActionStepCrossReference_2_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5713:1: ( ruleORD )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5714:1: ruleORD
            {
             before(grammarAccess.getStepRangeSelectorAccess().getToActionStepORDParserRuleCall_2_0_1()); 
            pushFollow(FOLLOW_ruleORD_in_rule__StepRangeSelector__ToAssignment_212101);
            ruleORD();

            state._fsp--;

             after(grammarAccess.getStepRangeSelectorAccess().getToActionStepORDParserRuleCall_2_0_1()); 

            }

             after(grammarAccess.getStepRangeSelectorAccess().getToActionStepCrossReference_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepRangeSelector__ToAssignment_2"


    // $ANTLR start "rule__StepListSelector__SelectorsAssignment_0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5725:1: rule__StepListSelector__SelectorsAssignment_0 : ( ruleAbstractStepSelector ) ;
    public final void rule__StepListSelector__SelectorsAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5729:1: ( ( ruleAbstractStepSelector ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5730:1: ( ruleAbstractStepSelector )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5730:1: ( ruleAbstractStepSelector )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5731:1: ruleAbstractStepSelector
            {
             before(grammarAccess.getStepListSelectorAccess().getSelectorsAbstractStepSelectorParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleAbstractStepSelector_in_rule__StepListSelector__SelectorsAssignment_012136);
            ruleAbstractStepSelector();

            state._fsp--;

             after(grammarAccess.getStepListSelectorAccess().getSelectorsAbstractStepSelectorParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepListSelector__SelectorsAssignment_0"


    // $ANTLR start "rule__StepListSelector__SelectorsAssignment_1_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5740:1: rule__StepListSelector__SelectorsAssignment_1_1 : ( ruleAbstractStepSelector ) ;
    public final void rule__StepListSelector__SelectorsAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5744:1: ( ( ruleAbstractStepSelector ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5745:1: ( ruleAbstractStepSelector )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5745:1: ( ruleAbstractStepSelector )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5746:1: ruleAbstractStepSelector
            {
             before(grammarAccess.getStepListSelectorAccess().getSelectorsAbstractStepSelectorParserRuleCall_1_1_0()); 
            pushFollow(FOLLOW_ruleAbstractStepSelector_in_rule__StepListSelector__SelectorsAssignment_1_112167);
            ruleAbstractStepSelector();

            state._fsp--;

             after(grammarAccess.getStepListSelectorAccess().getSelectorsAbstractStepSelectorParserRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepListSelector__SelectorsAssignment_1_1"


    // $ANTLR start "rule__AllStepsSelector__AnywhereAssignment"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5755:1: rule__AllStepsSelector__AnywhereAssignment : ( ( '*' ) ) ;
    public final void rule__AllStepsSelector__AnywhereAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5759:1: ( ( ( '*' ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5760:1: ( ( '*' ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5760:1: ( ( '*' ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5761:1: ( '*' )
            {
             before(grammarAccess.getAllStepsSelectorAccess().getAnywhereAsteriskKeyword_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5762:1: ( '*' )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5763:1: '*'
            {
             before(grammarAccess.getAllStepsSelectorAccess().getAnywhereAsteriskKeyword_0()); 
            match(input,54,FOLLOW_54_in_rule__AllStepsSelector__AnywhereAssignment12203); 
             after(grammarAccess.getAllStepsSelectorAccess().getAnywhereAsteriskKeyword_0()); 

            }

             after(grammarAccess.getAllStepsSelectorAccess().getAnywhereAsteriskKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AllStepsSelector__AnywhereAssignment"


    // $ANTLR start "rule__ScenarioEnd__ResultAssignment_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5778:1: rule__ScenarioEnd__ResultAssignment_1 : ( ruleScenarioResult ) ;
    public final void rule__ScenarioEnd__ResultAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5782:1: ( ( ruleScenarioResult ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5783:1: ( ruleScenarioResult )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5783:1: ( ruleScenarioResult )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5784:1: ruleScenarioResult
            {
             before(grammarAccess.getScenarioEndAccess().getResultScenarioResultEnumRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleScenarioResult_in_rule__ScenarioEnd__ResultAssignment_112242);
            ruleScenarioResult();

            state._fsp--;

             after(grammarAccess.getScenarioEndAccess().getResultScenarioResultEnumRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ScenarioEnd__ResultAssignment_1"


    // $ANTLR start "rule__Goto__NextStepAssignment_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5793:1: rule__Goto__NextStepAssignment_1 : ( ( ruleORD ) ) ;
    public final void rule__Goto__NextStepAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5797:1: ( ( ( ruleORD ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5798:1: ( ( ruleORD ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5798:1: ( ( ruleORD ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5799:1: ( ruleORD )
            {
             before(grammarAccess.getGotoAccess().getNextStepActionStepCrossReference_1_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5800:1: ( ruleORD )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5801:1: ruleORD
            {
             before(grammarAccess.getGotoAccess().getNextStepActionStepORDParserRuleCall_1_0_1()); 
            pushFollow(FOLLOW_ruleORD_in_rule__Goto__NextStepAssignment_112277);
            ruleORD();

            state._fsp--;

             after(grammarAccess.getGotoAccess().getNextStepActionStepORDParserRuleCall_1_0_1()); 

            }

             after(grammarAccess.getGotoAccess().getNextStepActionStepCrossReference_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Goto__NextStepAssignment_1"


    // $ANTLR start "rule__ExtensionStep__ActorAssignment_0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5812:1: rule__ExtensionStep__ActorAssignment_0 : ( ( ruleNAME ) ) ;
    public final void rule__ExtensionStep__ActorAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5816:1: ( ( ( ruleNAME ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5817:1: ( ( ruleNAME ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5817:1: ( ( ruleNAME ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5818:1: ( ruleNAME )
            {
             before(grammarAccess.getExtensionStepAccess().getActorActorCrossReference_0_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5819:1: ( ruleNAME )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5820:1: ruleNAME
            {
             before(grammarAccess.getExtensionStepAccess().getActorActorNAMEParserRuleCall_0_0_1()); 
            pushFollow(FOLLOW_ruleNAME_in_rule__ExtensionStep__ActorAssignment_012316);
            ruleNAME();

            state._fsp--;

             after(grammarAccess.getExtensionStepAccess().getActorActorNAMEParserRuleCall_0_0_1()); 

            }

             after(grammarAccess.getExtensionStepAccess().getActorActorCrossReference_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExtensionStep__ActorAssignment_0"


    // $ANTLR start "rule__ExtensionStep__ActionAssignment_2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5831:1: rule__ExtensionStep__ActionAssignment_2 : ( ruleAction ) ;
    public final void rule__ExtensionStep__ActionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5835:1: ( ( ruleAction ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5836:1: ( ruleAction )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5836:1: ( ruleAction )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5837:1: ruleAction
            {
             before(grammarAccess.getExtensionStepAccess().getActionActionParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleAction_in_rule__ExtensionStep__ActionAssignment_212351);
            ruleAction();

            state._fsp--;

             after(grammarAccess.getExtensionStepAccess().getActionActionParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExtensionStep__ActionAssignment_2"


    // $ANTLR start "rule__ExtensionEndStep__ActionAssignment"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5846:1: rule__ExtensionEndStep__ActionAssignment : ( ruleExtensionEndAction ) ;
    public final void rule__ExtensionEndStep__ActionAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5850:1: ( ( ruleExtensionEndAction ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5851:1: ( ruleExtensionEndAction )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5851:1: ( ruleExtensionEndAction )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5852:1: ruleExtensionEndAction
            {
             before(grammarAccess.getExtensionEndStepAccess().getActionExtensionEndActionParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleExtensionEndAction_in_rule__ExtensionEndStep__ActionAssignment12382);
            ruleExtensionEndAction();

            state._fsp--;

             after(grammarAccess.getExtensionEndStepAccess().getActionExtensionEndActionParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExtensionEndStep__ActionAssignment"


    // $ANTLR start "rule__Extension__OccuranceAssignment_0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5861:1: rule__Extension__OccuranceAssignment_0 : ( ruleStepSelector ) ;
    public final void rule__Extension__OccuranceAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5865:1: ( ( ruleStepSelector ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5866:1: ( ruleStepSelector )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5866:1: ( ruleStepSelector )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5867:1: ruleStepSelector
            {
             before(grammarAccess.getExtensionAccess().getOccuranceStepSelectorParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleStepSelector_in_rule__Extension__OccuranceAssignment_012413);
            ruleStepSelector();

            state._fsp--;

             after(grammarAccess.getExtensionAccess().getOccuranceStepSelectorParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Extension__OccuranceAssignment_0"


    // $ANTLR start "rule__Extension__ConditionAssignment_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5876:1: rule__Extension__ConditionAssignment_1 : ( ruleCondition ) ;
    public final void rule__Extension__ConditionAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5880:1: ( ( ruleCondition ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5881:1: ( ruleCondition )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5881:1: ( ruleCondition )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5882:1: ruleCondition
            {
             before(grammarAccess.getExtensionAccess().getConditionConditionParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleCondition_in_rule__Extension__ConditionAssignment_112444);
            ruleCondition();

            state._fsp--;

             after(grammarAccess.getExtensionAccess().getConditionConditionParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Extension__ConditionAssignment_1"


    // $ANTLR start "rule__Extension__StepsAssignment_3"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5891:1: rule__Extension__StepsAssignment_3 : ( ruleExtensionStep ) ;
    public final void rule__Extension__StepsAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5895:1: ( ( ruleExtensionStep ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5896:1: ( ruleExtensionStep )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5896:1: ( ruleExtensionStep )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5897:1: ruleExtensionStep
            {
             before(grammarAccess.getExtensionAccess().getStepsExtensionStepParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleExtensionStep_in_rule__Extension__StepsAssignment_312475);
            ruleExtensionStep();

            state._fsp--;

             after(grammarAccess.getExtensionAccess().getStepsExtensionStepParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Extension__StepsAssignment_3"


    // $ANTLR start "rule__Extension__StepsAssignment_4"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5906:1: rule__Extension__StepsAssignment_4 : ( ruleExtensionEndStep ) ;
    public final void rule__Extension__StepsAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5910:1: ( ( ruleExtensionEndStep ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5911:1: ( ruleExtensionEndStep )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5911:1: ( ruleExtensionEndStep )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5912:1: ruleExtensionEndStep
            {
             before(grammarAccess.getExtensionAccess().getStepsExtensionEndStepParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleExtensionEndStep_in_rule__Extension__StepsAssignment_412506);
            ruleExtensionEndStep();

            state._fsp--;

             after(grammarAccess.getExtensionAccess().getStepsExtensionEndStepParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Extension__StepsAssignment_4"


    // $ANTLR start "rule__Variant__OccuranceAssignment_0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5921:1: rule__Variant__OccuranceAssignment_0 : ( ruleStepSelector ) ;
    public final void rule__Variant__OccuranceAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5925:1: ( ( ruleStepSelector ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5926:1: ( ruleStepSelector )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5926:1: ( ruleStepSelector )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5927:1: ruleStepSelector
            {
             before(grammarAccess.getVariantAccess().getOccuranceStepSelectorParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleStepSelector_in_rule__Variant__OccuranceAssignment_012537);
            ruleStepSelector();

            state._fsp--;

             after(grammarAccess.getVariantAccess().getOccuranceStepSelectorParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Variant__OccuranceAssignment_0"


    // $ANTLR start "rule__Variant__DescriptionAssignment_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5936:1: rule__Variant__DescriptionAssignment_1 : ( rulePlainText ) ;
    public final void rule__Variant__DescriptionAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5940:1: ( ( rulePlainText ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5941:1: ( rulePlainText )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5941:1: ( rulePlainText )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5942:1: rulePlainText
            {
             before(grammarAccess.getVariantAccess().getDescriptionPlainTextParserRuleCall_1_0()); 
            pushFollow(FOLLOW_rulePlainText_in_rule__Variant__DescriptionAssignment_112568);
            rulePlainText();

            state._fsp--;

             after(grammarAccess.getVariantAccess().getDescriptionPlainTextParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Variant__DescriptionAssignment_1"


    // $ANTLR start "rule__Issue__ActorAssignment_0"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5951:1: rule__Issue__ActorAssignment_0 : ( ( ruleNAME ) ) ;
    public final void rule__Issue__ActorAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5955:1: ( ( ( ruleNAME ) ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5956:1: ( ( ruleNAME ) )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5956:1: ( ( ruleNAME ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5957:1: ( ruleNAME )
            {
             before(grammarAccess.getIssueAccess().getActorActorCrossReference_0_0()); 
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5958:1: ( ruleNAME )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5959:1: ruleNAME
            {
             before(grammarAccess.getIssueAccess().getActorActorNAMEParserRuleCall_0_0_1()); 
            pushFollow(FOLLOW_ruleNAME_in_rule__Issue__ActorAssignment_012603);
            ruleNAME();

            state._fsp--;

             after(grammarAccess.getIssueAccess().getActorActorNAMEParserRuleCall_0_0_1()); 

            }

             after(grammarAccess.getIssueAccess().getActorActorCrossReference_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Issue__ActorAssignment_0"


    // $ANTLR start "rule__Issue__DescriptionAssignment_2"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5970:1: rule__Issue__DescriptionAssignment_2 : ( rulePlainText ) ;
    public final void rule__Issue__DescriptionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5974:1: ( ( rulePlainText ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5975:1: ( rulePlainText )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5975:1: ( rulePlainText )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5976:1: rulePlainText
            {
             before(grammarAccess.getIssueAccess().getDescriptionPlainTextParserRuleCall_2_0()); 
            pushFollow(FOLLOW_rulePlainText_in_rule__Issue__DescriptionAssignment_212638);
            rulePlainText();

            state._fsp--;

             after(grammarAccess.getIssueAccess().getDescriptionPlainTextParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Issue__DescriptionAssignment_2"


    // $ANTLR start "rule__Import__ImportedNamespaceAssignment_1"
    // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5985:1: rule__Import__ImportedNamespaceAssignment_1 : ( ruleQualifiedNameWithWildcard ) ;
    public final void rule__Import__ImportedNamespaceAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5989:1: ( ( ruleQualifiedNameWithWildcard ) )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5990:1: ( ruleQualifiedNameWithWildcard )
            {
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5990:1: ( ruleQualifiedNameWithWildcard )
            // ../sk.scerbak.ucl.usecases.ui/src-gen/sk/scerbak/ucl/usecases/ui/contentassist/antlr/internal/InternalUsecases.g:5991:1: ruleQualifiedNameWithWildcard
            {
             before(grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleQualifiedNameWithWildcard_in_rule__Import__ImportedNamespaceAssignment_112669);
            ruleQualifiedNameWithWildcard();

            state._fsp--;

             after(grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__ImportedNamespaceAssignment_1"

    // Delegated rules


    protected DFA1 dfa1 = new DFA1(this);
    static final String DFA1_eotS =
        "\21\uffff";
    static final String DFA1_eofS =
        "\2\uffff\6\10\1\uffff\2\13\1\uffff\5\13";
    static final String DFA1_minS =
        "\1\5\1\uffff\6\4\1\uffff\2\4\1\uffff\5\4";
    static final String DFA1_maxS =
        "\1\6\1\uffff\6\62\1\uffff\2\62\1\uffff\5\62";
    static final String DFA1_acceptS =
        "\1\uffff\1\1\6\uffff\1\3\2\uffff\1\2\5\uffff";
    static final String DFA1_specialS =
        "\21\uffff}>";
    static final String[] DFA1_transitionS = {
            "\1\2\1\1",
            "",
            "\1\10\1\3\1\11\10\uffff\1\4\1\5\1\6\1\7\14\uffff\2\10\7\uffff"+
            "\7\10\2\uffff\2\10",
            "\1\10\1\3\1\11\10\uffff\1\4\1\5\1\6\1\7\14\uffff\2\10\7\uffff"+
            "\7\10\2\uffff\2\10",
            "\1\10\1\3\1\11\10\uffff\1\4\1\5\1\6\1\7\14\uffff\2\10\7\uffff"+
            "\7\10\2\uffff\2\10",
            "\1\10\1\3\1\11\10\uffff\1\4\1\5\1\6\1\7\14\uffff\2\10\7\uffff"+
            "\7\10\2\uffff\2\10",
            "\1\10\1\3\1\11\10\uffff\1\4\1\5\1\6\1\7\14\uffff\2\10\7\uffff"+
            "\7\10\2\uffff\2\10",
            "\1\10\1\3\1\11\10\uffff\1\4\1\5\1\6\1\7\14\uffff\2\10\7\uffff"+
            "\7\10\2\uffff\2\10",
            "",
            "\1\13\1\12\1\13\30\uffff\2\13\7\uffff\7\13\1\10\1\uffff\2"+
            "\13",
            "\1\13\1\14\1\13\10\uffff\1\15\1\16\1\17\1\20\14\uffff\2\13"+
            "\7\uffff\7\13\1\10\1\uffff\2\13",
            "",
            "\1\13\1\14\1\13\10\uffff\1\15\1\16\1\17\1\20\14\uffff\2\13"+
            "\7\uffff\7\13\1\10\1\uffff\2\13",
            "\1\13\1\14\1\13\10\uffff\1\15\1\16\1\17\1\20\14\uffff\2\13"+
            "\7\uffff\7\13\1\10\1\uffff\2\13",
            "\1\13\1\14\1\13\10\uffff\1\15\1\16\1\17\1\20\14\uffff\2\13"+
            "\7\uffff\7\13\1\10\1\uffff\2\13",
            "\1\13\1\14\1\13\10\uffff\1\15\1\16\1\17\1\20\14\uffff\2\13"+
            "\7\uffff\7\13\1\10\1\uffff\2\13",
            "\1\13\1\14\1\13\10\uffff\1\15\1\16\1\17\1\20\14\uffff\2\13"+
            "\7\uffff\7\13\1\10\1\uffff\2\13"
    };

    static final short[] DFA1_eot = DFA.unpackEncodedString(DFA1_eotS);
    static final short[] DFA1_eof = DFA.unpackEncodedString(DFA1_eofS);
    static final char[] DFA1_min = DFA.unpackEncodedStringToUnsignedChars(DFA1_minS);
    static final char[] DFA1_max = DFA.unpackEncodedStringToUnsignedChars(DFA1_maxS);
    static final short[] DFA1_accept = DFA.unpackEncodedString(DFA1_acceptS);
    static final short[] DFA1_special = DFA.unpackEncodedString(DFA1_specialS);
    static final short[][] DFA1_transition;

    static {
        int numStates = DFA1_transitionS.length;
        DFA1_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA1_transition[i] = DFA.unpackEncodedString(DFA1_transitionS[i]);
        }
    }

    class DFA1 extends DFA {

        public DFA1(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 1;
            this.eot = DFA1_eot;
            this.eof = DFA1_eof;
            this.min = DFA1_min;
            this.max = DFA1_max;
            this.accept = DFA1_accept;
            this.special = DFA1_special;
            this.transition = DFA1_transition;
        }
        public String getDescription() {
            return "1088:1: rule__Action__Alternatives : ( ( ruleSubGoal ) | ( ruleInteraction ) | ( ruleAnyAction ) );";
        }
    }
 

    public static final BitSet FOLLOW_ruleModel_in_entryRuleModel61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleModel68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__Group__0_in_ruleModel94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePackage_in_entryRulePackage121 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePackage128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Package__Group__0_in_rulePackage154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUseCase_in_entryRuleUseCase181 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUseCase188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group__0_in_ruleUseCase214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleScope_in_entryRuleScope241 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleScope248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scope__Group__0_in_ruleScope274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleActor_in_entryRuleActor301 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleActor308 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Actor__Group__0_in_ruleActor334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleInterest_in_entryRuleInterest361 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleInterest368 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interest__Group__0_in_ruleInterest394 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleState_in_entryRuleState421 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleState428 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__NameAssignment_in_ruleState454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCondition_in_entryRuleCondition481 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCondition488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Condition__Group__0_in_ruleCondition514 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTrigger_in_entryRuleTrigger541 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTrigger548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Trigger__Group__0_in_ruleTrigger574 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleActionStep_in_entryRuleActionStep601 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleActionStep608 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ActionStep__Group__0_in_ruleActionStep634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAction_in_entryRuleAction661 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAction668 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Action__Alternatives_in_ruleAction694 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnyAction_in_entryRuleAnyAction721 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAnyAction728 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AnyAction__DescriptionAssignment_in_ruleAnyAction754 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSubGoal_in_entryRuleSubGoal781 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSubGoal788 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SubGoal__IncludeUseCaseAssignment_in_ruleSubGoal814 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleInteraction_in_entryRuleInteraction841 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleInteraction848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interaction__Group__0_in_ruleInteraction874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSingleStepSelector_in_entryRuleSingleStepSelector901 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSingleStepSelector908 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SingleStepSelector__StepAssignment_in_ruleSingleStepSelector934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStepRangeSelector_in_entryRuleStepRangeSelector961 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStepRangeSelector968 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepRangeSelector__Group__0_in_ruleStepRangeSelector994 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAbstractStepSelector_in_entryRuleAbstractStepSelector1021 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAbstractStepSelector1028 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AbstractStepSelector__Alternatives_in_ruleAbstractStepSelector1054 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStepListSelector_in_entryRuleStepListSelector1081 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStepListSelector1088 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepListSelector__Group__0_in_ruleStepListSelector1114 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAllStepsSelector_in_entryRuleAllStepsSelector1141 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAllStepsSelector1148 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AllStepsSelector__AnywhereAssignment_in_ruleAllStepsSelector1174 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStepSelector_in_entryRuleStepSelector1201 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStepSelector1208 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepSelector__Alternatives_in_ruleStepSelector1234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExtensionEndAction_in_entryRuleExtensionEndAction1261 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleExtensionEndAction1268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExtensionEndAction__Alternatives_in_ruleExtensionEndAction1294 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleScenarioEnd_in_entryRuleScenarioEnd1321 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleScenarioEnd1328 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ScenarioEnd__Group__0_in_ruleScenarioEnd1354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGoto_in_entryRuleGoto1381 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleGoto1388 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Goto__Group__0_in_ruleGoto1414 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExtensionStep_in_entryRuleExtensionStep1441 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleExtensionStep1448 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExtensionStep__Group__0_in_ruleExtensionStep1474 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExtensionEndStep_in_entryRuleExtensionEndStep1501 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleExtensionEndStep1508 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExtensionEndStep__ActionAssignment_in_ruleExtensionEndStep1534 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExtension_in_entryRuleExtension1561 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleExtension1568 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Extension__Group__0_in_ruleExtension1594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleVariant_in_entryRuleVariant1621 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleVariant1628 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Variant__Group__0_in_ruleVariant1654 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIssue_in_entryRuleIssue1681 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleIssue1688 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Issue__Group__0_in_ruleIssue1714 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleORD_in_entryRuleORD1741 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleORD1748 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_ruleORD1774 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlainText_in_entryRulePlainText1800 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePlainText1807 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PlainText__Group__0_in_rulePlainText1833 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNAME_in_entryRuleNAME1860 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNAME1867 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NAME__Group__0_in_ruleNAME1893 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImport_in_entryRuleImport1920 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleImport1927 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__Group__0_in_ruleImport1953 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName1980 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName1987 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName2013 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedNameWithWildcard_in_entryRuleQualifiedNameWithWildcard2040 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNameWithWildcard2047 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedNameWithWildcard__Group__0_in_ruleQualifiedNameWithWildcard2073 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ScopeType__Alternatives_in_ruleScopeType2110 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Visibility__Alternatives_in_ruleVisibility2146 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Level__Alternatives_in_ruleLevel2182 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ScenarioResult__Alternatives_in_ruleScenarioResult2218 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSubGoal_in_rule__Action__Alternatives2253 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleInteraction_in_rule__Action__Alternatives2270 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnyAction_in_rule__Action__Alternatives2287 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSingleStepSelector_in_rule__AbstractStepSelector__Alternatives2319 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStepRangeSelector_in_rule__AbstractStepSelector__Alternatives2336 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStepListSelector_in_rule__StepSelector__Alternatives2368 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAllStepsSelector_in_rule__StepSelector__Alternatives2385 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleScenarioEnd_in_rule__ExtensionEndAction__Alternatives2417 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGoto_in_rule__ExtensionEndAction__Alternatives2434 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__PlainText__Alternatives_12466 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__PlainText__Alternatives_12484 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__PlainText__Alternatives_12504 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__PlainText__Alternatives_12524 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__PlainText__Alternatives_12544 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__ScopeType__Alternatives2579 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__ScopeType__Alternatives2600 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__ScopeType__Alternatives2621 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__Visibility__Alternatives2657 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__Visibility__Alternatives2678 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__Level__Alternatives2714 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__Level__Alternatives2735 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__Level__Alternatives2756 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__ScenarioResult__Alternatives2792 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__ScenarioResult__Alternatives2813 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__Group__0__Impl_in_rule__Model__Group__02846 = new BitSet(new long[]{0x0000000020000000L});
    public static final BitSet FOLLOW_rule__Model__Group__1_in_rule__Model__Group__02849 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__ImportsAssignment_0_in_rule__Model__Group__0__Impl2876 = new BitSet(new long[]{0x0010000000000002L});
    public static final BitSet FOLLOW_rule__Model__Group__1__Impl_in_rule__Model__Group__12907 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__PackageAssignment_1_in_rule__Model__Group__1__Impl2934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Package__Group__0__Impl_in_rule__Package__Group__02968 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Package__Group__1_in_rule__Package__Group__02971 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__Package__Group__0__Impl2999 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Package__Group__1__Impl_in_rule__Package__Group__13030 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_rule__Package__Group__2_in_rule__Package__Group__13033 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Package__NameAssignment_1_in_rule__Package__Group__1__Impl3060 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Package__Group__2__Impl_in_rule__Package__Group__23090 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_rule__Package__Group__3_in_rule__Package__Group__23093 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__Package__Group__2__Impl3121 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Package__Group__3__Impl_in_rule__Package__Group__33152 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Package__UsecasesAssignment_3_in_rule__Package__Group__3__Impl3181 = new BitSet(new long[]{0x0000000080000002L});
    public static final BitSet FOLLOW_rule__Package__UsecasesAssignment_3_in_rule__Package__Group__3__Impl3193 = new BitSet(new long[]{0x0000000080000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group__0__Impl_in_rule__UseCase__Group__03234 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__UseCase__Group__1_in_rule__UseCase__Group__03237 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__UseCase__Group__0__Impl3265 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group__1__Impl_in_rule__UseCase__Group__13296 = new BitSet(new long[]{0x000000FE00000000L});
    public static final BitSet FOLLOW_rule__UseCase__Group__2_in_rule__UseCase__Group__13299 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__NameAssignment_1_in_rule__UseCase__Group__1__Impl3326 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group__2__Impl_in_rule__UseCase__Group__23356 = new BitSet(new long[]{0x000000FE00000000L});
    public static final BitSet FOLLOW_rule__UseCase__Group__3_in_rule__UseCase__Group__23359 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_2__0_in_rule__UseCase__Group__2__Impl3386 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group__3__Impl_in_rule__UseCase__Group__33417 = new BitSet(new long[]{0x00000F0000000000L});
    public static final BitSet FOLLOW_rule__UseCase__Group__4_in_rule__UseCase__Group__33420 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_3_in_rule__UseCase__Group__3__Impl3447 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group__4__Impl_in_rule__UseCase__Group__43477 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_rule__UseCase__Group__5_in_rule__UseCase__Group__43480 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_4_in_rule__UseCase__Group__4__Impl3507 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group__5__Impl_in_rule__UseCase__Group__53537 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__UseCase__Group__6_in_rule__UseCase__Group__53540 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_32_in_rule__UseCase__Group__5__Impl3568 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group__6__Impl_in_rule__UseCase__Group__63599 = new BitSet(new long[]{0x0000700000000000L});
    public static final BitSet FOLLOW_rule__UseCase__Group__7_in_rule__UseCase__Group__63602 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__StepsAssignment_6_in_rule__UseCase__Group__6__Impl3631 = new BitSet(new long[]{0x0000000000000012L});
    public static final BitSet FOLLOW_rule__UseCase__StepsAssignment_6_in_rule__UseCase__Group__6__Impl3643 = new BitSet(new long[]{0x0000000000000012L});
    public static final BitSet FOLLOW_rule__UseCase__Group__7__Impl_in_rule__UseCase__Group__73676 = new BitSet(new long[]{0x0000700000000000L});
    public static final BitSet FOLLOW_rule__UseCase__Group__8_in_rule__UseCase__Group__73679 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_7__0_in_rule__UseCase__Group__7__Impl3706 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group__8__Impl_in_rule__UseCase__Group__83737 = new BitSet(new long[]{0x0000700000000000L});
    public static final BitSet FOLLOW_rule__UseCase__Group__9_in_rule__UseCase__Group__83740 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_8__0_in_rule__UseCase__Group__8__Impl3767 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group__9__Impl_in_rule__UseCase__Group__93798 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_9__0_in_rule__UseCase__Group__9__Impl3825 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_2__0__Impl_in_rule__UseCase__Group_2__03876 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__UseCase__Group_2__1_in_rule__UseCase__Group_2__03879 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_33_in_rule__UseCase__Group_2__0__Impl3907 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_2__1__Impl_in_rule__UseCase__Group_2__13938 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__DescriptionAssignment_2_1_in_rule__UseCase__Group_2__1__Impl3965 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_0__0__Impl_in_rule__UseCase__Group_3_0__03999 = new BitSet(new long[]{0x0000000000F80040L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_0__1_in_rule__UseCase__Group_3_0__04002 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_34_in_rule__UseCase__Group_3_0__0__Impl4030 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_0__1__Impl_in_rule__UseCase__Group_3_0__14061 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__ScopeAssignment_3_0_1_in_rule__UseCase__Group_3_0__1__Impl4088 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_1__0__Impl_in_rule__UseCase__Group_3_1__04122 = new BitSet(new long[]{0x0000000007000000L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_1__1_in_rule__UseCase__Group_3_1__04125 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_rule__UseCase__Group_3_1__0__Impl4153 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_1__1__Impl_in_rule__UseCase__Group_3_1__14184 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__LevelAssignment_3_1_1_in_rule__UseCase__Group_3_1__1__Impl4211 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_2__0__Impl_in_rule__UseCase__Group_3_2__04245 = new BitSet(new long[]{0x0000000000F80040L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_2__1_in_rule__UseCase__Group_3_2__04248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__UseCase__Group_3_2__0__Impl4276 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_2__1__Impl_in_rule__UseCase__Group_3_2__14307 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__PrimaryActorAssignment_3_2_1_in_rule__UseCase__Group_3_2__1__Impl4334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_3__0__Impl_in_rule__UseCase__Group_3_3__04368 = new BitSet(new long[]{0x0000000000F80040L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_3__1_in_rule__UseCase__Group_3_3__04371 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__UseCase__Group_3_3__0__Impl4399 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_3__1__Impl_in_rule__UseCase__Group_3_3__14430 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__SecondaryActorsAssignment_3_3_1_in_rule__UseCase__Group_3_3__1__Impl4459 = new BitSet(new long[]{0x0000000000F80042L});
    public static final BitSet FOLLOW_rule__UseCase__SecondaryActorsAssignment_3_3_1_in_rule__UseCase__Group_3_3__1__Impl4471 = new BitSet(new long[]{0x0000000000F80042L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_4__0__Impl_in_rule__UseCase__Group_3_4__04508 = new BitSet(new long[]{0x0000000000F80040L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_4__1_in_rule__UseCase__Group_3_4__04511 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__UseCase__Group_3_4__0__Impl4539 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_4__1__Impl_in_rule__UseCase__Group_3_4__14570 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__TertiaryActorsAssignment_3_4_1_in_rule__UseCase__Group_3_4__1__Impl4599 = new BitSet(new long[]{0x0000000000F80042L});
    public static final BitSet FOLLOW_rule__UseCase__TertiaryActorsAssignment_3_4_1_in_rule__UseCase__Group_3_4__1__Impl4611 = new BitSet(new long[]{0x0000000000F80042L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_5__0__Impl_in_rule__UseCase__Group_3_5__04648 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_5__1_in_rule__UseCase__Group_3_5__04651 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__UseCase__Group_3_5__0__Impl4679 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_5__1__Impl_in_rule__UseCase__Group_3_5__14710 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__InterestsAssignment_3_5_1_in_rule__UseCase__Group_3_5__1__Impl4739 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__UseCase__InterestsAssignment_3_5_1_in_rule__UseCase__Group_3_5__1__Impl4751 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_0__0__Impl_in_rule__UseCase__Group_4_0__04788 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_0__1_in_rule__UseCase__Group_4_0__04791 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__UseCase__Group_4_0__0__Impl4819 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_0__1__Impl_in_rule__UseCase__Group_4_0__14850 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__PreconditionsAssignment_4_0_1_in_rule__UseCase__Group_4_0__1__Impl4879 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__UseCase__PreconditionsAssignment_4_0_1_in_rule__UseCase__Group_4_0__1__Impl4891 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_1__0__Impl_in_rule__UseCase__Group_4_1__04928 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_1__1_in_rule__UseCase__Group_4_1__04931 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_rule__UseCase__Group_4_1__0__Impl4959 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_1__1__Impl_in_rule__UseCase__Group_4_1__14990 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__PostconditionsAssignment_4_1_1_in_rule__UseCase__Group_4_1__1__Impl5019 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__UseCase__PostconditionsAssignment_4_1_1_in_rule__UseCase__Group_4_1__1__Impl5031 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_2__0__Impl_in_rule__UseCase__Group_4_2__05068 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_2__1_in_rule__UseCase__Group_4_2__05071 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__UseCase__Group_4_2__0__Impl5099 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_2__1__Impl_in_rule__UseCase__Group_4_2__15130 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__InvariantsAssignment_4_2_1_in_rule__UseCase__Group_4_2__1__Impl5159 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__UseCase__InvariantsAssignment_4_2_1_in_rule__UseCase__Group_4_2__1__Impl5171 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_3__0__Impl_in_rule__UseCase__Group_4_3__05208 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_3__1_in_rule__UseCase__Group_4_3__05211 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__UseCase__Group_4_3__0__Impl5239 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_3__1__Impl_in_rule__UseCase__Group_4_3__15270 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__TriggerAssignment_4_3_1_in_rule__UseCase__Group_4_3__1__Impl5297 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_7__0__Impl_in_rule__UseCase__Group_7__05331 = new BitSet(new long[]{0x0040000000000010L});
    public static final BitSet FOLLOW_rule__UseCase__Group_7__1_in_rule__UseCase__Group_7__05334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_44_in_rule__UseCase__Group_7__0__Impl5362 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_7__1__Impl_in_rule__UseCase__Group_7__15393 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__ExtensionsAssignment_7_1_in_rule__UseCase__Group_7__1__Impl5422 = new BitSet(new long[]{0x0040000000000012L});
    public static final BitSet FOLLOW_rule__UseCase__ExtensionsAssignment_7_1_in_rule__UseCase__Group_7__1__Impl5434 = new BitSet(new long[]{0x0040000000000012L});
    public static final BitSet FOLLOW_rule__UseCase__Group_8__0__Impl_in_rule__UseCase__Group_8__05471 = new BitSet(new long[]{0x0040000000000010L});
    public static final BitSet FOLLOW_rule__UseCase__Group_8__1_in_rule__UseCase__Group_8__05474 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__UseCase__Group_8__0__Impl5502 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_8__1__Impl_in_rule__UseCase__Group_8__15533 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__VariantsAssignment_8_1_in_rule__UseCase__Group_8__1__Impl5562 = new BitSet(new long[]{0x0040000000000012L});
    public static final BitSet FOLLOW_rule__UseCase__VariantsAssignment_8_1_in_rule__UseCase__Group_8__1__Impl5574 = new BitSet(new long[]{0x0040000000000012L});
    public static final BitSet FOLLOW_rule__UseCase__Group_9__0__Impl_in_rule__UseCase__Group_9__05611 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__UseCase__Group_9__1_in_rule__UseCase__Group_9__05614 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_46_in_rule__UseCase__Group_9__0__Impl5642 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_9__1__Impl_in_rule__UseCase__Group_9__15673 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__IssuesAssignment_9_1_in_rule__UseCase__Group_9__1__Impl5702 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__UseCase__IssuesAssignment_9_1_in_rule__UseCase__Group_9__1__Impl5714 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__Scope__Group__0__Impl_in_rule__Scope__Group__05751 = new BitSet(new long[]{0x0000000000F80040L});
    public static final BitSet FOLLOW_rule__Scope__Group__1_in_rule__Scope__Group__05754 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scope__VisibilityAssignment_0_in_rule__Scope__Group__0__Impl5781 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scope__Group__1__Impl_in_rule__Scope__Group__15812 = new BitSet(new long[]{0x0000000000F80040L});
    public static final BitSet FOLLOW_rule__Scope__Group__2_in_rule__Scope__Group__15815 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scope__TypeAssignment_1_in_rule__Scope__Group__1__Impl5842 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scope__Group__2__Impl_in_rule__Scope__Group__25873 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Scope__InternalActorAssignment_2_in_rule__Scope__Group__2__Impl5900 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Actor__Group__0__Impl_in_rule__Actor__Group__05936 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_rule__Actor__Group__1_in_rule__Actor__Group__05939 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Actor__NameAssignment_0_in_rule__Actor__Group__0__Impl5966 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Actor__Group__1__Impl_in_rule__Actor__Group__15996 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Actor__Group_1__0_in_rule__Actor__Group__1__Impl6023 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Actor__Group_1__0__Impl_in_rule__Actor__Group_1__06058 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Actor__Group_1__1_in_rule__Actor__Group_1__06061 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__Actor__Group_1__0__Impl6089 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Actor__Group_1__1__Impl_in_rule__Actor__Group_1__16120 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Actor__DescriptionAssignment_1_1_in_rule__Actor__Group_1__1__Impl6147 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interest__Group__0__Impl_in_rule__Interest__Group__06181 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_rule__Interest__Group__1_in_rule__Interest__Group__06184 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interest__StakeholderAssignment_0_in_rule__Interest__Group__0__Impl6211 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interest__Group__1__Impl_in_rule__Interest__Group__16241 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Interest__Group__2_in_rule__Interest__Group__16244 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__Interest__Group__1__Impl6272 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interest__Group__2__Impl_in_rule__Interest__Group__26303 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interest__DescriptionAssignment_2_in_rule__Interest__Group__2__Impl6330 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Condition__Group__0__Impl_in_rule__Condition__Group__06366 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__Condition__Group__1_in_rule__Condition__Group__06369 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Condition__ActorAssignment_0_in_rule__Condition__Group__0__Impl6396 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Condition__Group__1__Impl_in_rule__Condition__Group__16426 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Condition__Group__2_in_rule__Condition__Group__16429 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__Condition__Group__1__Impl6457 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Condition__Group__2__Impl_in_rule__Condition__Group__26488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Condition__DescriptionAssignment_2_in_rule__Condition__Group__2__Impl6515 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Trigger__Group__0__Impl_in_rule__Trigger__Group__06551 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__Trigger__Group__1_in_rule__Trigger__Group__06554 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Trigger__ActorAssignment_0_in_rule__Trigger__Group__0__Impl6581 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Trigger__Group__1__Impl_in_rule__Trigger__Group__16611 = new BitSet(new long[]{0x0000000000000060L});
    public static final BitSet FOLLOW_rule__Trigger__Group__2_in_rule__Trigger__Group__16614 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__Trigger__Group__1__Impl6642 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Trigger__Group__2__Impl_in_rule__Trigger__Group__26673 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Trigger__ActionAssignment_2_in_rule__Trigger__Group__2__Impl6700 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ActionStep__Group__0__Impl_in_rule__ActionStep__Group__06736 = new BitSet(new long[]{0x0001000000000000L});
    public static final BitSet FOLLOW_rule__ActionStep__Group__1_in_rule__ActionStep__Group__06739 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ActionStep__NameAssignment_0_in_rule__ActionStep__Group__0__Impl6766 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ActionStep__Group__1__Impl_in_rule__ActionStep__Group__16796 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__ActionStep__Group__2_in_rule__ActionStep__Group__16799 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__ActionStep__Group__1__Impl6827 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ActionStep__Group__2__Impl_in_rule__ActionStep__Group__26858 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__ActionStep__Group__3_in_rule__ActionStep__Group__26861 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ActionStep__ActorAssignment_2_in_rule__ActionStep__Group__2__Impl6888 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ActionStep__Group__3__Impl_in_rule__ActionStep__Group__36918 = new BitSet(new long[]{0x0000000000000060L});
    public static final BitSet FOLLOW_rule__ActionStep__Group__4_in_rule__ActionStep__Group__36921 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__ActionStep__Group__3__Impl6949 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ActionStep__Group__4__Impl_in_rule__ActionStep__Group__46980 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ActionStep__ActionAssignment_4_in_rule__ActionStep__Group__4__Impl7007 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interaction__Group__0__Impl_in_rule__Interaction__Group__07047 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Interaction__Group__1_in_rule__Interaction__Group__07050 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interaction__DescriptionAssignment_0_in_rule__Interaction__Group__0__Impl7077 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interaction__Group__1__Impl_in_rule__Interaction__Group__17107 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interaction__SubjectAssignment_1_in_rule__Interaction__Group__1__Impl7134 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepRangeSelector__Group__0__Impl_in_rule__StepRangeSelector__Group__07168 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__StepRangeSelector__Group__1_in_rule__StepRangeSelector__Group__07171 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepRangeSelector__FromAssignment_0_in_rule__StepRangeSelector__Group__0__Impl7198 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepRangeSelector__Group__1__Impl_in_rule__StepRangeSelector__Group__17228 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__StepRangeSelector__Group__2_in_rule__StepRangeSelector__Group__17231 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__StepRangeSelector__Group__1__Impl7259 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepRangeSelector__Group__2__Impl_in_rule__StepRangeSelector__Group__27290 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepRangeSelector__ToAssignment_2_in_rule__StepRangeSelector__Group__2__Impl7317 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepListSelector__Group__0__Impl_in_rule__StepListSelector__Group__07353 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__StepListSelector__Group__1_in_rule__StepListSelector__Group__07356 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepListSelector__SelectorsAssignment_0_in_rule__StepListSelector__Group__0__Impl7383 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepListSelector__Group__1__Impl_in_rule__StepListSelector__Group__17413 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepListSelector__Group_1__0_in_rule__StepListSelector__Group__1__Impl7440 = new BitSet(new long[]{0x0000000000008002L});
    public static final BitSet FOLLOW_rule__StepListSelector__Group_1__0__Impl_in_rule__StepListSelector__Group_1__07475 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__StepListSelector__Group_1__1_in_rule__StepListSelector__Group_1__07478 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__StepListSelector__Group_1__0__Impl7506 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepListSelector__Group_1__1__Impl_in_rule__StepListSelector__Group_1__17537 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepListSelector__SelectorsAssignment_1_1_in_rule__StepListSelector__Group_1__1__Impl7564 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ScenarioEnd__Group__0__Impl_in_rule__ScenarioEnd__Group__07598 = new BitSet(new long[]{0x0000000018000000L});
    public static final BitSet FOLLOW_rule__ScenarioEnd__Group__1_in_rule__ScenarioEnd__Group__07601 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_49_in_rule__ScenarioEnd__Group__0__Impl7629 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ScenarioEnd__Group__1__Impl_in_rule__ScenarioEnd__Group__17660 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ScenarioEnd__ResultAssignment_1_in_rule__ScenarioEnd__Group__1__Impl7687 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Goto__Group__0__Impl_in_rule__Goto__Group__07721 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Goto__Group__1_in_rule__Goto__Group__07724 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_50_in_rule__Goto__Group__0__Impl7752 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Goto__Group__1__Impl_in_rule__Goto__Group__17783 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Goto__NextStepAssignment_1_in_rule__Goto__Group__1__Impl7810 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExtensionStep__Group__0__Impl_in_rule__ExtensionStep__Group__07844 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__ExtensionStep__Group__1_in_rule__ExtensionStep__Group__07847 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExtensionStep__ActorAssignment_0_in_rule__ExtensionStep__Group__0__Impl7874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExtensionStep__Group__1__Impl_in_rule__ExtensionStep__Group__17904 = new BitSet(new long[]{0x0000000000000060L});
    public static final BitSet FOLLOW_rule__ExtensionStep__Group__2_in_rule__ExtensionStep__Group__17907 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__ExtensionStep__Group__1__Impl7935 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExtensionStep__Group__2__Impl_in_rule__ExtensionStep__Group__27966 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExtensionStep__ActionAssignment_2_in_rule__ExtensionStep__Group__2__Impl7993 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Extension__Group__0__Impl_in_rule__Extension__Group__08029 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Extension__Group__1_in_rule__Extension__Group__08032 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Extension__OccuranceAssignment_0_in_rule__Extension__Group__0__Impl8059 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Extension__Group__1__Impl_in_rule__Extension__Group__18089 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_rule__Extension__Group__2_in_rule__Extension__Group__18092 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Extension__ConditionAssignment_1_in_rule__Extension__Group__1__Impl8119 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Extension__Group__2__Impl_in_rule__Extension__Group__28149 = new BitSet(new long[]{0x0006000000000040L});
    public static final BitSet FOLLOW_rule__Extension__Group__3_in_rule__Extension__Group__28152 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__Extension__Group__2__Impl8180 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Extension__Group__3__Impl_in_rule__Extension__Group__38211 = new BitSet(new long[]{0x0006000000000040L});
    public static final BitSet FOLLOW_rule__Extension__Group__4_in_rule__Extension__Group__38214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Extension__StepsAssignment_3_in_rule__Extension__Group__3__Impl8241 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__Extension__Group__4__Impl_in_rule__Extension__Group__48272 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Extension__StepsAssignment_4_in_rule__Extension__Group__4__Impl8299 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Variant__Group__0__Impl_in_rule__Variant__Group__08339 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Variant__Group__1_in_rule__Variant__Group__08342 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Variant__OccuranceAssignment_0_in_rule__Variant__Group__0__Impl8369 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Variant__Group__1__Impl_in_rule__Variant__Group__18399 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Variant__DescriptionAssignment_1_in_rule__Variant__Group__1__Impl8426 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Issue__Group__0__Impl_in_rule__Issue__Group__08460 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__Issue__Group__1_in_rule__Issue__Group__08463 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Issue__ActorAssignment_0_in_rule__Issue__Group__0__Impl8490 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Issue__Group__1__Impl_in_rule__Issue__Group__18520 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Issue__Group__2_in_rule__Issue__Group__18523 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__Issue__Group__1__Impl8551 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Issue__Group__2__Impl_in_rule__Issue__Group__28582 = new BitSet(new long[]{0x0008000000000000L});
    public static final BitSet FOLLOW_rule__Issue__Group__3_in_rule__Issue__Group__28585 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Issue__DescriptionAssignment_2_in_rule__Issue__Group__2__Impl8612 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Issue__Group__3__Impl_in_rule__Issue__Group__38642 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_51_in_rule__Issue__Group__3__Impl8670 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PlainText__Group__0__Impl_in_rule__PlainText__Group__08709 = new BitSet(new long[]{0x0000000000078020L});
    public static final BitSet FOLLOW_rule__PlainText__Group__1_in_rule__PlainText__Group__08712 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__PlainText__Group__0__Impl8739 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PlainText__Group__1__Impl_in_rule__PlainText__Group__18768 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PlainText__Alternatives_1_in_rule__PlainText__Group__1__Impl8795 = new BitSet(new long[]{0x0000000000078022L});
    public static final BitSet FOLLOW_rule__NAME__Group__0__Impl_in_rule__NAME__Group__08830 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__NAME__Group__1_in_rule__NAME__Group__08833 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_UPID_in_rule__NAME__Group__0__Impl8860 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NAME__Group__1__Impl_in_rule__NAME__Group__18889 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlainText_in_rule__NAME__Group__1__Impl8917 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__08952 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__08955 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_52_in_rule__Import__Group__0__Impl8983 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__19014 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__ImportedNamespaceAssignment_1_in_rule__Import__Group__1__Impl9041 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__09075 = new BitSet(new long[]{0x0001000000000000L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__09078 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedName__Group__0__Impl9105 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__19134 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl9161 = new BitSet(new long[]{0x0001000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__09196 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__09199 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__QualifiedName__Group_1__0__Impl9227 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__19258 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedName__Group_1__1__Impl9285 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedNameWithWildcard__Group__0__Impl_in_rule__QualifiedNameWithWildcard__Group__09318 = new BitSet(new long[]{0x0020000000000000L});
    public static final BitSet FOLLOW_rule__QualifiedNameWithWildcard__Group__1_in_rule__QualifiedNameWithWildcard__Group__09321 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__QualifiedNameWithWildcard__Group__0__Impl9348 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedNameWithWildcard__Group__1__Impl_in_rule__QualifiedNameWithWildcard__Group__19377 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_53_in_rule__QualifiedNameWithWildcard__Group__1__Impl9406 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_3__0_in_rule__UseCase__UnorderedGroup_39444 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_0__0_in_rule__UseCase__UnorderedGroup_3__Impl9533 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_1__0_in_rule__UseCase__UnorderedGroup_3__Impl9624 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_2__0_in_rule__UseCase__UnorderedGroup_3__Impl9715 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_3__0_in_rule__UseCase__UnorderedGroup_3__Impl9806 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_4__0_in_rule__UseCase__UnorderedGroup_3__Impl9897 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_3_5__0_in_rule__UseCase__UnorderedGroup_3__Impl9988 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_3__Impl_in_rule__UseCase__UnorderedGroup_3__010047 = new BitSet(new long[]{0x000000FE00000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_3__1_in_rule__UseCase__UnorderedGroup_3__010050 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_3__Impl_in_rule__UseCase__UnorderedGroup_3__110075 = new BitSet(new long[]{0x000000FE00000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_3__2_in_rule__UseCase__UnorderedGroup_3__110078 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_3__Impl_in_rule__UseCase__UnorderedGroup_3__210103 = new BitSet(new long[]{0x000000FE00000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_3__3_in_rule__UseCase__UnorderedGroup_3__210106 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_3__Impl_in_rule__UseCase__UnorderedGroup_3__310131 = new BitSet(new long[]{0x000000FE00000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_3__4_in_rule__UseCase__UnorderedGroup_3__310134 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_3__Impl_in_rule__UseCase__UnorderedGroup_3__410159 = new BitSet(new long[]{0x000000FE00000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_3__5_in_rule__UseCase__UnorderedGroup_3__410162 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_3__Impl_in_rule__UseCase__UnorderedGroup_3__510187 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_4__0_in_rule__UseCase__UnorderedGroup_410223 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_0__0_in_rule__UseCase__UnorderedGroup_4__Impl10310 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_1__0_in_rule__UseCase__UnorderedGroup_4__Impl10401 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_2__0_in_rule__UseCase__UnorderedGroup_4__Impl10492 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__Group_4_3__0_in_rule__UseCase__UnorderedGroup_4__Impl10583 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_4__Impl_in_rule__UseCase__UnorderedGroup_4__010642 = new BitSet(new long[]{0x00000F0000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_4__1_in_rule__UseCase__UnorderedGroup_4__010645 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_4__Impl_in_rule__UseCase__UnorderedGroup_4__110670 = new BitSet(new long[]{0x00000F0000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_4__2_in_rule__UseCase__UnorderedGroup_4__110673 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_4__Impl_in_rule__UseCase__UnorderedGroup_4__210698 = new BitSet(new long[]{0x00000F0000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_4__3_in_rule__UseCase__UnorderedGroup_4__210701 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UseCase__UnorderedGroup_4__Impl_in_rule__UseCase__UnorderedGroup_4__310726 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImport_in_rule__Model__ImportsAssignment_010762 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePackage_in_rule__Model__PackageAssignment_110793 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__Package__NameAssignment_110824 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUseCase_in_rule__Package__UsecasesAssignment_310855 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNAME_in_rule__UseCase__NameAssignment_110886 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlainText_in_rule__UseCase__DescriptionAssignment_2_110917 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleScope_in_rule__UseCase__ScopeAssignment_3_0_110948 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLevel_in_rule__UseCase__LevelAssignment_3_1_110979 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleActor_in_rule__UseCase__PrimaryActorAssignment_3_2_111010 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleActor_in_rule__UseCase__SecondaryActorsAssignment_3_3_111041 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleActor_in_rule__UseCase__TertiaryActorsAssignment_3_4_111072 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleInterest_in_rule__UseCase__InterestsAssignment_3_5_111103 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCondition_in_rule__UseCase__PreconditionsAssignment_4_0_111134 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCondition_in_rule__UseCase__PostconditionsAssignment_4_1_111165 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCondition_in_rule__UseCase__InvariantsAssignment_4_2_111196 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTrigger_in_rule__UseCase__TriggerAssignment_4_3_111227 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleActionStep_in_rule__UseCase__StepsAssignment_611258 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExtension_in_rule__UseCase__ExtensionsAssignment_7_111289 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleVariant_in_rule__UseCase__VariantsAssignment_8_111320 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIssue_in_rule__UseCase__IssuesAssignment_9_111351 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleVisibility_in_rule__Scope__VisibilityAssignment_011382 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleScopeType_in_rule__Scope__TypeAssignment_111413 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleActor_in_rule__Scope__InternalActorAssignment_211444 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNAME_in_rule__Actor__NameAssignment_011475 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlainText_in_rule__Actor__DescriptionAssignment_1_111506 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNAME_in_rule__Interest__StakeholderAssignment_011541 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlainText_in_rule__Interest__DescriptionAssignment_211576 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlainText_in_rule__State__NameAssignment11607 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNAME_in_rule__Condition__ActorAssignment_011642 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleState_in_rule__Condition__DescriptionAssignment_211677 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNAME_in_rule__Trigger__ActorAssignment_011712 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAction_in_rule__Trigger__ActionAssignment_211747 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleORD_in_rule__ActionStep__NameAssignment_011778 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNAME_in_rule__ActionStep__ActorAssignment_211813 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAction_in_rule__ActionStep__ActionAssignment_411848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlainText_in_rule__AnyAction__DescriptionAssignment11879 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNAME_in_rule__SubGoal__IncludeUseCaseAssignment11914 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlainText_in_rule__Interaction__DescriptionAssignment_011949 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNAME_in_rule__Interaction__SubjectAssignment_111984 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleORD_in_rule__SingleStepSelector__StepAssignment12023 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleORD_in_rule__StepRangeSelector__FromAssignment_012062 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleORD_in_rule__StepRangeSelector__ToAssignment_212101 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAbstractStepSelector_in_rule__StepListSelector__SelectorsAssignment_012136 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAbstractStepSelector_in_rule__StepListSelector__SelectorsAssignment_1_112167 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_54_in_rule__AllStepsSelector__AnywhereAssignment12203 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleScenarioResult_in_rule__ScenarioEnd__ResultAssignment_112242 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleORD_in_rule__Goto__NextStepAssignment_112277 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNAME_in_rule__ExtensionStep__ActorAssignment_012316 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAction_in_rule__ExtensionStep__ActionAssignment_212351 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExtensionEndAction_in_rule__ExtensionEndStep__ActionAssignment12382 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStepSelector_in_rule__Extension__OccuranceAssignment_012413 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCondition_in_rule__Extension__ConditionAssignment_112444 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExtensionStep_in_rule__Extension__StepsAssignment_312475 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExtensionEndStep_in_rule__Extension__StepsAssignment_412506 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStepSelector_in_rule__Variant__OccuranceAssignment_012537 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlainText_in_rule__Variant__DescriptionAssignment_112568 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNAME_in_rule__Issue__ActorAssignment_012603 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlainText_in_rule__Issue__DescriptionAssignment_212638 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedNameWithWildcard_in_rule__Import__ImportedNamespaceAssignment_112669 = new BitSet(new long[]{0x0000000000000002L});

}
